reserve k,n,n1,m,m1,m0,h,i,j for Nat,
  a,x,y,X,X1,X2,X3,X4,Y for set;
reserve L,L1,L2 for FinSequence;
reserve F,F1,G,G1,H for LTL-formula;
reserve W,W1,W2 for Subset of Subformulae H;
reserve v for LTL-formula;
reserve N,N1,N2,N10,N20,M for strict LTLnode over v;
reserve w for Element of Inf_seq(AtomicFamily);
reserve R1,R2 for Real_Sequence;
reserve s,s0,s1,s2 for elementary strict LTLnode over v;
reserve q for sequence of LTLStates(v);
reserve U for Choice_Function of BOOL Subformulae v;

theorem Th59:
  w|=*N & N is non elementary implies w|=*chosen_succ(w,v,U,N) &
  chosen_succ(w,v,U,N) is_succ_of N
proof
  assume that
A1: w|=*N and
A2: N is non elementary;
  set H = chosen_formula(U,N);
  set SN = chosen_succ(w,v,U,N);
  set H2 = the_right_argument_of H;
A3: H in the LTLnew of N by A2,Th58;
  now
    per cases;
    suppose
A4:   not H is Until & w |= *SuccNode1(H,N) or H is Until & w |/= H2;
      then
A5:   SN = SuccNode1(H,N) by Def35;
A6:   w|=*SN
      proof
        now
          per cases by A4;
          suppose
            not H is Until & w |= *SuccNode1(H,N);
            hence thesis by Def35;
          end;
          suppose
A7:         H is Until & w |/= H2;
            set N2 = SuccNode2(H,N);
A8:         w |= *SN or w |= *N2 by A1,A3,A5,A7,Lm19;
            now
              the LTLold of N2 =(the LTLold of N) \/ {H} by A3,Def5;
              then
A9:           H2
 in the LTLold of N implies H2 in the LTLold of N2 by XBOOLE_0:def 3;
              LTLNew2 H = {H2} by A7,Def2;
              then H2 in LTLNew2 H by TARSKI:def 1;
              then
A10:          not H2 in the LTLold of N implies H2 in (LTLNew2 H \ the
              LTLold of N) by XBOOLE_0:def 5;
              assume
A11:          not w |= *SN;
              the LTLnew of N2 = ((the LTLnew of N) \ {H}) \/ (LTLNew2 H
              \ the LTLold of N) by A3,Def5;
              then not H2 in the LTLold of N implies H2 in the LTLnew of N2 by
A10,XBOOLE_0:def 3;
              then H2 in *N2 by A9,Lm1;
              hence contradiction by A7,A8,A11;
            end;
            hence thesis;
          end;
        end;
        hence thesis;
      end;
      SN is_succ1_of N by A3,A5;
      hence thesis by A6;
    end;
    suppose
A12:  not ( not H is Until & w |= *SuccNode1(H,N) or H is Until & w |/= H2 );
      set N1 = SuccNode1(H,N);
A13:  SN = SuccNode2(H,N) by A12,Def35;
      w|=*SN & SN is_succ_of N
      proof
        now
          per cases by A12;
          suppose
A14:        H is Until & w |= H2;
            set NN = the LTLnew of N;
            set NO = the LTLold of N;
            set SNN = the LTLnew of SN;
            LTLNew2 H = {H2} by A14,Def2;
            then
A15:        SNN = (NN \ {H}) \/ ({H2} \ NO) by A3,A13,Def5;
            NN \ {H} c= NN by XBOOLE_1:36;
            then
A16:        SNN c= NN \/ {H2} by A15,XBOOLE_1:13;
            set NX = the LTLnext of N;
            set SNX = the LTLnext of SN;
            set SNO = the LTLold of SN;
            SNO =NO \/ {H} & {H} c= NN by A3,A13,Def5,ZFMISC_1:31;
            then
A17:        SNO c= NO \/ NN by XBOOLE_1:9;
A18:        SNX = NX by A3,A13,Def5;
A19:        G in *SN implies w|=G
            proof
              assume
A20:          G in *SN;
              now
                per cases by A20,Lm1;
                suppose
                  G in SNO;
                  then G in *N by A17,XBOOLE_0:def 3;
                  hence thesis by A1;
                end;
                suppose
                  G in SNN;
                  then G in NN or G in {H2} by A16,XBOOLE_0:def 3;
                  then G in *N or G = H2 by Lm1,TARSKI:def 1;
                  hence thesis by A1,A14;
                end;
                suppose
                  G in 'X' CastLTL(SNX);
                  then G in *N by A18,Lm1;
                  hence thesis by A1;
                end;
              end;
              hence thesis;
            end;
            SN is_succ2_of N by A3,A13,A14;
            hence thesis by A19;
          end;
          suppose
A21:        not w |=*N1;
            now
              per cases by MODELC_2:2;
              suppose
                H is atomic or H is negative or H is conjunctive or H is next;
                hence thesis by A1,A3,A21,Lm16,Lm17;
              end;
              suppose
A22:            H is disjunctive or H is Until or H is Release;
                then SN is_succ2_of N by A3,A13;
                hence thesis by A1,A3,A13,A21,A22,Lm18,Lm19,Lm20;
              end;
            end;
            hence thesis;
          end;
        end;
        hence thesis;
      end;
      hence thesis;
    end;
  end;
  hence thesis;
end;
