let v be LTL-formula; :: thesis: for N being strict LTLnode of v
for w being Element of Inf_seq AtomicFamily
for U being Choice_Function of BOOL (Subformulae v) st w |= * N & not N is elementary holds
( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N )

let N be strict LTLnode of v; :: thesis: for w being Element of Inf_seq AtomicFamily
for U being Choice_Function of BOOL (Subformulae v) st w |= * N & not N is elementary holds
( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N )

let w be Element of Inf_seq AtomicFamily ; :: thesis: for U being Choice_Function of BOOL (Subformulae v) st w |= * N & not N is elementary holds
( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N )

let U be Choice_Function of BOOL (Subformulae v); :: thesis: ( w |= * N & not N is elementary implies ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N ) )
assume that
A1: w |= * N and
A2: not N is elementary ; :: thesis: ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N )
set H = chosen_formula U,N;
set SN = chosen_succ w,v,U,N;
set H2 = the_right_argument_of (chosen_formula U,N);
A3: chosen_formula U,N in the LTLnew of N by A2, Th58;
now
per cases ( ( not chosen_formula U,N is Until & w |= * (SuccNode1 (chosen_formula U,N),N) ) or ( chosen_formula U,N is Until & w |/= the_right_argument_of (chosen_formula U,N) ) or ( not ( not chosen_formula U,N is Until & w |= * (SuccNode1 (chosen_formula U,N),N) ) & not ( chosen_formula U,N is Until & w |/= the_right_argument_of (chosen_formula U,N) ) ) ) ;
suppose A4: ( ( not chosen_formula U,N is Until & w |= * (SuccNode1 (chosen_formula U,N),N) ) or ( chosen_formula U,N is Until & w |/= the_right_argument_of (chosen_formula U,N) ) ) ; :: thesis: ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N )
then A5: chosen_succ w,v,U,N = SuccNode1 (chosen_formula U,N),N by Def35;
A6: w |= * (chosen_succ w,v,U,N)
proof
now
per cases ( ( not chosen_formula U,N is Until & w |= * (SuccNode1 (chosen_formula U,N),N) ) or ( chosen_formula U,N is Until & w |/= the_right_argument_of (chosen_formula U,N) ) ) by A4;
suppose A7: ( chosen_formula U,N is Until & w |/= the_right_argument_of (chosen_formula U,N) ) ; :: thesis: w |= * (chosen_succ w,v,U,N)
end;
end;
end;
hence w |= * (chosen_succ w,v,U,N) ; :: thesis: verum
end;
chosen_succ w,v,U,N is_succ1_of N by A3, A5, Def7;
hence ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N ) by A6, Def9; :: thesis: verum
end;
suppose A12: ( not ( not chosen_formula U,N is Until & w |= * (SuccNode1 (chosen_formula U,N),N) ) & not ( chosen_formula U,N is Until & w |/= the_right_argument_of (chosen_formula U,N) ) ) ; :: thesis: ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N )
set N1 = SuccNode1 (chosen_formula U,N),N;
A13: chosen_succ w,v,U,N = SuccNode2 (chosen_formula U,N),N by A12, Def35;
( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N )
proof
now
per cases ( ( chosen_formula U,N is Until & w |= the_right_argument_of (chosen_formula U,N) ) or not w |= * (SuccNode1 (chosen_formula U,N),N) ) by A12;
suppose A14: ( chosen_formula U,N is Until & w |= the_right_argument_of (chosen_formula U,N) ) ; :: thesis: ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N )
set NN = the LTLnew of N;
set NO = the LTLold of N;
set SNN = the LTLnew of (chosen_succ w,v,U,N);
LTLNew2 (chosen_formula U,N) = {(the_right_argument_of (chosen_formula U,N))} by A14, Def2;
then A15: the LTLnew of (chosen_succ w,v,U,N) = (the LTLnew of N \ {(chosen_formula U,N)}) \/ ({(the_right_argument_of (chosen_formula U,N))} \ the LTLold of N) by A3, A13, Def5;
the LTLnew of N \ {(chosen_formula U,N)} c= the LTLnew of N by XBOOLE_1:36;
then A16: the LTLnew of (chosen_succ w,v,U,N) c= the LTLnew of N \/ {(the_right_argument_of (chosen_formula U,N))} by A15, XBOOLE_1:13;
set NX = the LTLnext of N;
set SNX = the LTLnext of (chosen_succ w,v,U,N);
set SNO = the LTLold of (chosen_succ w,v,U,N);
( the LTLold of (chosen_succ w,v,U,N) = the LTLold of N \/ {(chosen_formula U,N)} & {(chosen_formula U,N)} c= the LTLnew of N ) by A3, A13, Def5, ZFMISC_1:37;
then A17: the LTLold of (chosen_succ w,v,U,N) c= the LTLold of N \/ the LTLnew of N by XBOOLE_1:9;
A18: the LTLnext of (chosen_succ w,v,U,N) = the LTLnext of N by A3, A13, Def5;
A19: for G being LTL-formula st G in * (chosen_succ w,v,U,N) holds
w |= G
proof
let G be LTL-formula; :: thesis: ( G in * (chosen_succ w,v,U,N) implies w |= G )
assume A20: G in * (chosen_succ w,v,U,N) ; :: thesis: w |= G
now end;
hence w |= G ; :: thesis: verum
end;
chosen_succ w,v,U,N is_succ2_of N by A3, A13, A14, Def8;
hence ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N ) by A19, Def9, MODELC_2:def 66; :: thesis: verum
end;
suppose A21: not w |= * (SuccNode1 (chosen_formula U,N),N) ; :: thesis: ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N )
end;
end;
end;
hence ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N ) ; :: thesis: verum
end;
hence ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N ) ; :: thesis: verum
end;
end;
end;
hence ( w |= * (chosen_succ w,v,U,N) & chosen_succ w,v,U,N is_succ_of N ) ; :: thesis: verum