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 Th69:
  w |= * ('X' s) implies chosen_next(w,v,U,s) is_next_of s & w |=
  *chosen_next(w,v,U,s)
proof
  set LN = LTLNodes(v);
  set N = 'X' s;
  assume
A1: w |= *N;
  set n = chosen_succ_end_num(w,v,U,N);
  set f = choice_succ_func(w,v,U);
  set nextnode =CastNode((f|**n).N,v);
A2: N in LN by Def30;
  now
    per cases;
    suppose
A3:   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
A4:   len L = n1 and
A5:   for k being Nat st k in dom L holds L.k=F(k);
A6:   Seg n1 = dom L by A4,FINSEQ_1:def 3;
A7:   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 A5,A6;
        hence thesis by MODELC_2:def 1;
      end;
      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
A8:     1<=k and
A9:     k<len(L);
        set k1 = k-1;
        reconsider k1 as Nat by A8,NAT_1:21;
        set M1 = CastNode((f|**(k1+1)).N,v);
        set kp=k+1;
        1<=kp & kp<=n1 by A4,A8,A9,NAT_1:13;
        then
A10:    L.(k+1) = CastNode((f|**CastNat(kp-1)).N,v) by A7
          .= M1 by MODELC_2:def 1;
        set N1 = CastNode((f|**k1).N,v);
        k-1<n1-1 by A4,A9,XREAL_1:14;
        then
A11:    M1 is_succ_of N1 by A1,A3,Def48;
        L.k = CastNode((f|**CastNat(k1)).N,v) by A4,A7,A8,A9
          .= N1 by MODELC_2:def 1;
        hence thesis by A11,A10;
      end;
      then
A12:  L is_Finseq_for v;
A13:  1<=n1 by NAT_1:11;
      then
A14:  L.(len L) = CastNode((f|**CastNat(n1-1)).N,v) by A4,A7
        .= nextnode by MODELC_2:def 1;
A15:  nextnode = chosen_next(w,v,U,s) by A1,A3,Def49;
      L.1 = CastNode((f|**CastNat(1-1)).N,v) by A13,A7
        .= CastNode((f|**0).N,v) by MODELC_2:def 1
        .= CastNode((id LN).N,v) by FUNCT_7:84
        .= CastNode(N,v) by A2,FUNCT_1:18
        .='X' s by Def16;
      hence thesis by A1,A3,A15,A13,A4,A14,A12,Def48;
    end;
    suppose
      N is elementary;
      then the LTLnew of N = the LTLnew of FinalNode v;
      then
A16:  chosen_next(w,v,U,s)= N by A1,Def49;
      set L =<*N*>;
      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 by FINSEQ_1:39;
      then
A19:  L is_Finseq_for v;
      len L = 1 & L.1='X' s by FINSEQ_1:39;
      hence thesis by A1,A16,A19;
    end;
  end;
  hence thesis;
end;
