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;
reserve v for neg-inner-most LTL-formula;
reserve U for Choice_Function of BOOL Subformulae v;
reserve N,N1,N2,M1 for strict LTLnode over v;
reserve s,s1 for elementary strict LTLnode over v;

theorem Th74:
  w |= v implies for i holds H in the LTLold of CastNode(
  chosen_run(w,v,U).(i+1),v) & H is Until & Shift(w,i)|=the_right_argument_of H
implies the_right_argument_of H in the LTLold of CastNode(chosen_run(w,v,U).(i+
  1),v)
proof
  assume
A1: w |= v;
  for j holds H in the LTLold of CastNode(chosen_run(w,v,U).(j+1),v) & H
is Until & Shift(w,j)|=the_right_argument_of H implies the_right_argument_of H
  in the LTLold of CastNode(chosen_run(w,v,U).(j+1),v)
  proof
    set LN = LTLNodes(v);
    let j;
    set s = CastNode(chosen_run(w,v,U).j,v);
    set s1 = CastNode(chosen_run(w,v,U).(j+1),v);
    set w0 = Shift(w,j);
    set N = 'X' s;
    set f = choice_succ_func(w0,v,U);
    set n = chosen_succ_end_num(w0,v,U,N);
    set nextnode =CastNode((f|**n).N,v);
A2: w0 |= *N by A1,Th73;
A3: N in LN by Def30;
    now
      per cases;
      suppose
A4:     N is non elementary;
        deffunc F(set) = CastNode((f|**CastNat(CastNat($1)-1)).N,v);
        set n1=n+1;
        ex L st len L = n1 & for k being Nat st k in dom L holds L.k=F(k)
        from FINSEQ_1:sch 2;
        then consider L such that
A5:     len L = n1 and
A6:     for k being Nat st k in dom L holds L.k=F(k);
A7:     Seg n1 = dom L by A5,FINSEQ_1:def 3;
A8:     for k st 1<=k & k<=n1 holds L.k = CastNode((f|**CastNat(k-1)).N,v)
        proof
          let k;
          assume 1<=k & k<=n1;
          then k in Seg n1 by FINSEQ_1:1;
          then L.k=CastNode((f|**CastNat(CastNat(k)-1)).N,v) by A6,A7;
          hence thesis by MODELC_2:def 1;
        end;
A9:     for k st 1 <= k & k < len(L) holds ex N1,M1 st N1 = L.k & M1=L.(k+
        1) & M1 is_succ_of N1
        proof
          let k;
          assume that
A10:      1<=k and
A11:      k<len(L);
          set k1 = k-1;
          reconsider k1 as Nat by A10,NAT_1:21;
          set M1 = CastNode((f|**(k1+1)).N,v);
          set kp=k+1;
          1<=kp & kp<=n1 by A5,A10,A11,NAT_1:13;
          then
A12:      L.(k+1) = CastNode((f|**CastNat(kp-1)).N,v) by A8
            .= M1 by MODELC_2:def 1;
          set N1 = CastNode((f|**k1).N,v);
          k-1<n1-1 by A5,A11,XREAL_1:14;
          then
A13:      M1 is_succ_of N1 by A2,A4,Def48;
          L.k = CastNode((f|**CastNat(k1)).N,v) by A5,A8,A10,A11
            .= N1 by MODELC_2:def 1;
          hence thesis by A13,A12;
        end;
        then
A14:    L is_Finseq_for v;
        1<=n1 by NAT_1:11;
        then
A15:    L.1 = CastNode((f|**CastNat(1-1)).N,v) by A8
          .= CastNode((f|**0).N,v) by MODELC_2:def 1
          .= CastNode((id LN).N,v) by FUNCT_7:84
          .= CastNode(N,v) by A3,FUNCT_1:18
          .= N by Def16;
        1<=n1 by NAT_1:11;
        then
A16:    L.(len L) = CastNode((f|**CastNat(n1-1)).N,v) by A5,A8
          .= nextnode by MODELC_2:def 1;
A17:    nextnode is elementary by A2,A4,Def48;
        1<=len(L) by A5,NAT_1:11;
        then
A18:    len(L) >1 by A4,A15,A16,A17,XXREAL_0:1;
A19:    H in the LTLold of nextnode & H is Until & w0|=
the_right_argument_of H implies the_right_argument_of H in the LTLold of
        nextnode
        proof
          set H2 = the_right_argument_of H;
          assume that
A20:      H in the LTLold of nextnode and
A21:      H is Until and
A22:      w0|=H2;
          the LTLold of CastNode(L.1,v) = {} v & the LTLold of CastNode(L
          .len(L),v) = the LTLold of nextnode by A15,A16,Def16;
          then consider m such that
A23:      1<= m and
A24:      m<n1 and
A25:      ( not H in the LTLold of CastNode(L.m,v))& H in the LTLold
          of CastNode(L.(m+1) ,v) by A5,A14,A18,A20,Th27;
          set mm1=m-1;
          reconsider mm1 as Nat by A23,NAT_1:21;
          set Nm1= (f|**mm1).N;
          set m1 = m+1;
A26:      Nm1 in LN by A3,FUNCT_2:5;
          consider N1,N2 such that
A27:      N1 = L.m and
A28:      N2 = L.(m+1) and
A29:      N2 is_succ_of N1 by A5,A9,A23,A24;
A30:      N1 = CastNode((f|**CastNat(mm1)).N,v) by A8,A23,A24,A27
            .= CastNode(Nm1,v) by MODELC_2:def 1;
A31:      1<=m1 & m1<=n1 by A23,A24,NAT_1:13;
          then
A32:      N2 = CastNode((f|**CastNat(m1-1)).N,v) by A8,A28
            .= CastNode((f|**(mm1+1)).N,v) by MODELC_2:def 1
            .= CastNode((f*(f|**mm1)).N,v) by FUNCT_7:71
            .= CastNode(f.((f|**mm1).N),v) by A3,FUNCT_2:15
            .= CastNode(chosen_succ(w0,v,U,CastNode(Nm1,v)),v) by A26,Def36
            .= chosen_succ(w0,v,U,N1) by A30,Def16;
          m-1<n1-1 by A24,XREAL_1:14;
          then
A33:      N1 is non elementary by A2,A4,A30,Def48;
          chosen_formula(U,N1) = H
          proof
            set G = chosen_formula(U,N1);
            set M2 = the LTLold of N2;
            set M1 = the LTLold of N1;
            set M0 = the LTLnew of N1;
A34:        G in M0 by A33,Th58;
A35:        M2 = M1 \/ {G}
            proof
              now
                per cases;
                suppose
                  not G is Until & w0 |= *SuccNode1(G,N1) or G is
                  Until & w0 |/= the_right_argument_of G;
                  then chosen_succ(w0,v,U,N1) = SuccNode1(G,N1) by Def35;
                  hence thesis by A32,A34,Def4;
                end;
                suppose
A36:              not ( not G is Until & w0 |= *SuccNode1(G,N1) or G
                  is Until & w0 |/= the_right_argument_of G );
              N2 = SuccNode2(G,N1) by A32,A36,Def35;
                  hence thesis by A34,Def5;
                end;
              end;
              hence thesis;
            end;
A37:        ( not H in M1)& H in M2 by A25,A27,A28,Def16;
            now
              assume H <> G;
              then not H in {G} by TARSKI:def 1;
              hence contradiction by A37,A35,XBOOLE_0:def 3;
            end;
            hence thesis;
          end;
          then
A38:      N2 = SuccNode2(H,N1) by A21,A22,A32,Def35;
A39:      CastNode(L.(len(L)),v) = nextnode by A16,Def16;
          N1 = CastNode(L.m,v) & N2 = CastNode(L.(m+1),v) by A27,A28,Def16;
          then N2 is_succ_of N1,H by A25,A29,Th28;
          then
A40:      H in the LTLnew of N1;
          the LTLnew of nextnode = {} by A17;
          then
          the LTLnew of CastNode(L.m1,v) c= the LTLold of CastNode(L.(len
          (L)),v) by A5,A14,A31,A39,Th34;
          then
A41:      the LTLnew of N2 c= the LTLold of nextnode by A28,A39,Def16;
          the LTLold of CastNode(L.m,v) c= the LTLold of CastNode(L.len(L
          ),v) by A5,A14,A23,A24,Th31;
          then
A42:      the LTLold of N1 c= the LTLold of nextnode by A27,A39,Def16;
          LTLNew2 H = {H2} by A21,Def2;
          then
A43:      the LTLnew of N2 = ((the LTLnew of N1) \ {H}) \/ ({H2} \ the
          LTLold of N1) by A38,A40,Def5;
          now
            per cases;
            suppose
              H2 in the LTLold of N1;
              hence thesis by A42;
            end;
            suppose
A44:          not H2 in the LTLold of N1;
              H2 in {H2} by TARSKI:def 1;
              then H2 in {H2} \ the LTLold of N1 by A44,XBOOLE_0:def 5;
              then H2 in the LTLnew of N2 by A43,XBOOLE_0:def 3;
              hence thesis by A41;
            end;
          end;
          hence thesis;
        end;
        chosen_run(w,v,U).(j+1) = chosen_next(w0,v,U,s) by Def50
          .=nextnode by A2,A4,Def49;
        hence thesis by A19,Def16;
      end;
      suppose
        N is elementary;
        then the LTLnew of N = the LTLnew of FinalNode v;
        then chosen_next(w0,v,U,s)= N by A2,Def49;
        then s1 = CastNode(N,v) by Def50
          .= N by Def16;
        hence thesis;
      end;
    end;
    hence thesis;
  end;
  hence thesis;
end;
