let s be State of SCM+FSA ; :: thesis: for I being Program of SCM+FSA 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 SCM+FSA ; :: 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 ) )

assume A1: 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 ) )

assume A2: 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 )

set s1 = s +* (Initialized I);
set s2 = s +* (Initialized (Directed I));
A3: s +* (Initialized I) = (Initialize s) +* (I +* (Start-At (insloc 0 ))) by Th13;
A4: now end;
A10: now end;
A12: now
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 A13: ( 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 ) )
assume A14: 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 )
A15: k + 0 < k + 1 by XREAL_1:8;
then A16: k < LifeSpan (s +* (Initialized I)) by A14, XXREAL_0:2;
( 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 A17: I c= Computation (s +* (Initialized I)),k by AMI_1:81;
( 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 A18: Directed I c= Computation (s +* (Initialized (Directed I))),k by AMI_1:81;
A19: IC (Computation (s +* (Initialized I)),k) in dom I by A1, A3, SCMFSA7B:def 7;
A20: dom I c= dom (Directed I) by FUNCT_4:105;
A21: CurInstr (Computation (s +* (Initialized I)),k) = I . (IC (Computation (s +* (Initialized I)),k)) by A17, A19, GRFUNC_1:8;
s +* (Initialized I) is halting by A2, A3, SCMFSA7B:def 8;
then I . (IC (Computation (s +* (Initialized I)),k)) <> halt SCM+FSA by A16, A21, AMI_1:def 46;
then A22: CurInstr (Computation (s +* (Initialized I)),k) = (Directed I) . (IC (Computation (s +* (Initialized I)),k)) by A21, FUNCT_4:111
.= (Computation (s +* (Initialized (Directed I))),k) . (IC (Computation (s +* (Initialized I)),k)) by A18, A19, A20, GRFUNC_1:8
.= CurInstr (Computation (s +* (Initialized (Directed I))),k) by A13, A14, A15, AMI_1:121, XXREAL_0:2 ;
A23: 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) ;
X: 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) ;
hence Computation (s +* (Initialized I)),(k + 1), Computation (s +* (Initialized (Directed I))),(k + 1) equal_outside NAT by A13, A14, A15, A22, A23, 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 A4, A13, A14, A15, A22, A23, X, SCMFSA6A:32, XXREAL_0:2; :: thesis: verum
end;
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 ) );
A24: S1[ 0 ] by A10;
A25: for k being Element of NAT st S1[k] holds
S1[k + 1] by A12;
thus for k being Element of NAT holds S1[k] from NAT_1:sch 1(A24, A25); :: thesis: verum