let P be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; :: thesis: for s being State of SCM+FSA
for I being Program of SCM+FSA
for a being read-write Int-Location st I is_closed_onInit s,P & I is_halting_onInit s,P & s . a > 0 holds
for k being Element of NAT st k <= (LifeSpan ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) + 3 holds
IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I))

let s be State of SCM+FSA; :: thesis: for I being Program of SCM+FSA
for a being read-write Int-Location st I is_closed_onInit s,P & I is_halting_onInit s,P & s . a > 0 holds
for k being Element of NAT st k <= (LifeSpan ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) + 3 holds
IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I))

let I be Program of SCM+FSA; :: thesis: for a being read-write Int-Location st I is_closed_onInit s,P & I is_halting_onInit s,P & s . a > 0 holds
for k being Element of NAT st k <= (LifeSpan ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) + 3 holds
IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I))

let a be read-write Int-Location ; :: thesis: ( I is_closed_onInit s,P & I is_halting_onInit s,P & s . a > 0 implies for k being Element of NAT st k <= (LifeSpan ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) + 3 holds
IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I)) )

set s0 = Initialized s;
set IA = Start-At (0,SCM+FSA);
assume A1: I is_closed_onInit s,P ; :: thesis: ( not I is_halting_onInit s,P or not s . a > 0 or for k being Element of NAT st k <= (LifeSpan ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) + 3 holds
IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I)) )

YY: Initialize (Initialized s) = (s +* (Initialize ((intloc 0) .--> 1))) +* (Start-At (0,SCM+FSA)) by SCMFSA6A:def 4
.= s +* ((Initialize ((intloc 0) .--> 1)) +* (Start-At (0,SCM+FSA))) by FUNCT_4:15
.= s +* (Initialize ((intloc 0) .--> 1)) by FUNCT_4:99 ;
now
let k be Element of NAT ; :: thesis: IC (Comput ((P +* I),(Initialize (Initialized s)),k)) in dom I
thus IC (Comput ((P +* I),(Initialize (Initialized s)),k)) in dom I by A1, YY, SCM_HALT:def 4; :: thesis: verum
end;
then A3: I is_closed_on Initialized s,P by SCMFSA7B:def 7;
assume I is_halting_onInit s,P ; :: thesis: ( not s . a > 0 or for k being Element of NAT st k <= (LifeSpan ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) + 3 holds
IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I)) )

then A4: P +* I halts_on s +* (Initialize ((intloc 0) .--> 1)) by SCM_HALT:def 5;
s +* (Initialize ((intloc 0) .--> 1)) = Initialize (Initialized s) by SCMFSA8A:13;
then A5: I is_halting_on Initialized s,P by A4, SCMFSA7B:def 8;
assume s . a > 0 ; :: thesis: for k being Element of NAT st k <= (LifeSpan ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) + 3 holds
IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I))

then A6: (Initialized s) . a > 0 by SCMFSA6C:3;
hereby :: thesis: verum
let k be Element of NAT ; :: thesis: ( k <= (LifeSpan ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) + 3 implies IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I)) )
A7: s +* (Initialize ((intloc 0) .--> 1)) = Initialize (Initialized s) by SCMFSA8A:13;
assume k <= (LifeSpan ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) + 3 ; :: thesis: IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I))
hence IC (Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),k)) in dom (while>0 (a,I)) by A7, A3, A5, A6, SCMFSA_9:47; :: thesis: verum
end;