let s be State of ; :: thesis: for I being Program of st I is_closed_on Initialize s & I is_halting_on Initialize s holds
for k being Element of NAT st k <= LifeSpan (s +* (Initialized I)) holds
( Computation (s +* (Initialized I)),k, Computation (s +* (Initialized (Directed I))),k equal_outside NAT & CurInstr (Computation (s +* (Initialized (Directed I))),k) <> halt SCM+FSA )

let I be Program of ; :: thesis: ( I is_closed_on Initialize s & I is_halting_on Initialize s implies for k being Element of NAT st k <= LifeSpan (s +* (Initialized I)) holds
( Computation (s +* (Initialized I)),k, Computation (s +* (Initialized (Directed I))),k equal_outside NAT & CurInstr (Computation (s +* (Initialized (Directed I))),k) <> halt SCM+FSA ) )

set s1 = s +* (Initialized I);
set s2 = s +* (Initialized (Directed I));
defpred S1[ Element of NAT ] means ( $1 <= LifeSpan (s +* (Initialized I)) implies ( Computation (s +* (Initialized I)),$1, Computation (s +* (Initialized (Directed I))),$1 equal_outside NAT & CurInstr (Computation (s +* (Initialized (Directed I))),$1) <> halt SCM+FSA ) );
A1: s +* (Initialized I) = (Initialize s) +* (I +* (Start-At (insloc 0 ))) by Th13;
assume A2: I is_closed_on Initialize s ; :: thesis: ( not I is_halting_on Initialize s or for k being Element of NAT st k <= LifeSpan (s +* (Initialized I)) holds
( Computation (s +* (Initialized I)),k, Computation (s +* (Initialized (Directed I))),k equal_outside NAT & CurInstr (Computation (s +* (Initialized (Directed I))),k) <> halt SCM+FSA ) )

A3: now end;
assume A7: I is_halting_on Initialize s ; :: thesis: for k being Element of NAT st k <= LifeSpan (s +* (Initialized I)) holds
( Computation (s +* (Initialized I)),k, Computation (s +* (Initialized (Directed I))),k equal_outside NAT & CurInstr (Computation (s +* (Initialized (Directed I))),k) <> halt SCM+FSA )

now
A8: ProgramPart (s +* (Initialized I)) halts_on s +* (Initialized I) by A7, A1, SCMFSA7B:def 8;
A9: dom I c= dom (Directed I) by FUNCT_4:105;
let k be Element of NAT ; :: thesis: ( ( k <= LifeSpan (s +* (Initialized I)) implies Computation (s +* (Initialized I)),k, Computation (s +* (Initialized (Directed I))),k equal_outside NAT ) & k + 1 <= LifeSpan (s +* (Initialized I)) implies ( Computation (s +* (Initialized I)),(k + 1), Computation (s +* (Initialized (Directed I))),(k + 1) equal_outside NAT & CurInstr (Computation (s +* (Initialized (Directed I))),(k + 1)) <> halt SCM+FSA ) )
assume A10: ( k <= LifeSpan (s +* (Initialized I)) implies Computation (s +* (Initialized I)),k, Computation (s +* (Initialized (Directed I))),k equal_outside NAT ) ; :: thesis: ( k + 1 <= LifeSpan (s +* (Initialized I)) implies ( Computation (s +* (Initialized I)),(k + 1), Computation (s +* (Initialized (Directed I))),(k + 1) equal_outside NAT & CurInstr (Computation (s +* (Initialized (Directed I))),(k + 1)) <> halt SCM+FSA ) )
A11: Computation (s +* (Initialized (Directed I))),(k + 1) = Following (Computation (s +* (Initialized (Directed I))),k) by AMI_1:14
.= Exec (CurInstr (Computation (s +* (Initialized (Directed I))),k)),(Computation (s +* (Initialized (Directed I))),k) ;
A12: IC (Computation (s +* (Initialized I)),k) in dom I by A2, A1, SCMFSA7B:def 7;
( I c= Initialized I & Initialized I c= s +* (Initialized I) ) by FUNCT_4:26, SCMFSA6A:26;
then I c= s +* (Initialized I) by XBOOLE_1:1;
then I c= Computation (s +* (Initialized I)),k by AMI_1:81;
then A13: CurInstr (Computation (s +* (Initialized I)),k) = I . (IC (Computation (s +* (Initialized I)),k)) by A12, GRFUNC_1:8;
( Directed I c= Initialized (Directed I) & Initialized (Directed I) c= s +* (Initialized (Directed I)) ) by FUNCT_4:26, SCMFSA6A:26;
then Directed I c= s +* (Initialized (Directed I)) by XBOOLE_1:1;
then A14: Directed I c= Computation (s +* (Initialized (Directed I))),k by AMI_1:81;
A15: k + 0 < k + 1 by XREAL_1:8;
assume A16: k + 1 <= LifeSpan (s +* (Initialized I)) ; :: thesis: ( Computation (s +* (Initialized I)),(k + 1), Computation (s +* (Initialized (Directed I))),(k + 1) equal_outside NAT & CurInstr (Computation (s +* (Initialized (Directed I))),(k + 1)) <> halt SCM+FSA )
then k < LifeSpan (s +* (Initialized I)) by A15, XXREAL_0:2;
then I . (IC (Computation (s +* (Initialized I)),k)) <> halt SCM+FSA by A13, A8, AMI_1:def 46;
then A17: CurInstr (Computation (s +* (Initialized I)),k) = (Directed I) . (IC (Computation (s +* (Initialized I)),k)) by A13, FUNCT_4:111
.= (Computation (s +* (Initialized (Directed I))),k) . (IC (Computation (s +* (Initialized I)),k)) by A14, A12, A9, GRFUNC_1:8
.= CurInstr (Computation (s +* (Initialized (Directed I))),k) by A10, A16, A15, AMI_1:121, XXREAL_0:2 ;
A18: Computation (s +* (Initialized I)),(k + 1) = Following (Computation (s +* (Initialized I)),k) by AMI_1:14
.= Exec (CurInstr (Computation (s +* (Initialized I)),k)),(Computation (s +* (Initialized I)),k) ;
hence Computation (s +* (Initialized I)),(k + 1), Computation (s +* (Initialized (Directed I))),(k + 1) equal_outside NAT by A10, A16, A15, A17, A11, SCMFSA6A:32, XXREAL_0:2; :: thesis: CurInstr (Computation (s +* (Initialized (Directed I))),(k + 1)) <> halt SCM+FSA
thus CurInstr (Computation (s +* (Initialized (Directed I))),(k + 1)) <> halt SCM+FSA by A3, A10, A16, A15, A17, A18, A11, SCMFSA6A:32, XXREAL_0:2; :: thesis: verum
end;
then A19: for k being Element of NAT st S1[k] holds
S1[k + 1] ;
now end;
then A21: S1[ 0 ] ;
thus for k being Element of NAT holds S1[k] from NAT_1:sch 1(A21, A19); :: thesis: verum