let P be Instruction-Sequence of SCM+FSA; :: thesis: for s being State of SCM+FSA

for I being really-closed MacroInstruction of SCM+FSA

for a being read-write Int-Location st I is_halting_onInit s,P & s . a > 0 holds

( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) )

let s be State of SCM+FSA; :: thesis: for I being really-closed MacroInstruction of SCM+FSA

for a being read-write Int-Location st I is_halting_onInit s,P & s . a > 0 holds

( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) )

let I be really-closed MacroInstruction of SCM+FSA ; :: thesis: for a being read-write Int-Location st I is_halting_onInit s,P & s . a > 0 holds

( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) )

let a be read-write Int-Location; :: thesis: ( I is_halting_onInit s,P & s . a > 0 implies ( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) ) )

set s0 = Initialized s;

set sw = Initialized s;

set Pw = P +* (while>0 (a,I));

set PI = P +* I;

set s0I = Initialize (Initialized s);

A1: Initialized s = Initialize (Initialized s) by MEMSTR_0:44;

assume I is_halting_onInit s,P ; :: thesis: ( not s . a > 0 or ( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) ) )

then A2: I is_halting_on Initialized s,P by SCM_HALT:31;

assume s . a > 0 ; :: thesis: ( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) )

then A3: (Initialized s) . a > 0 by SCMFSA_M:37;

hence IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 by A2, A1, SCMFSA_9:42; :: thesis: for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I))

thus for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) by A2, A3, A1, SCMFSA_9:42; :: thesis: verum

for I being really-closed MacroInstruction of SCM+FSA

for a being read-write Int-Location st I is_halting_onInit s,P & s . a > 0 holds

( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) )

let s be State of SCM+FSA; :: thesis: for I being really-closed MacroInstruction of SCM+FSA

for a being read-write Int-Location st I is_halting_onInit s,P & s . a > 0 holds

( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) )

let I be really-closed MacroInstruction of SCM+FSA ; :: thesis: for a being read-write Int-Location st I is_halting_onInit s,P & s . a > 0 holds

( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) )

let a be read-write Int-Location; :: thesis: ( I is_halting_onInit s,P & s . a > 0 implies ( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) ) )

set s0 = Initialized s;

set sw = Initialized s;

set Pw = P +* (while>0 (a,I));

set PI = P +* I;

set s0I = Initialize (Initialized s);

A1: Initialized s = Initialize (Initialized s) by MEMSTR_0:44;

assume I is_halting_onInit s,P ; :: thesis: ( not s . a > 0 or ( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) ) )

then A2: I is_halting_on Initialized s,P by SCM_HALT:31;

assume s . a > 0 ; :: thesis: ( IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 & ( for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) ) )

then A3: (Initialized s) . a > 0 by SCMFSA_M:37;

hence IC (Comput ((P +* (while>0 (a,I))),(Initialized s),((LifeSpan ((P +* I),(Initialized s))) + 2))) = 0 by A2, A1, SCMFSA_9:42; :: thesis: for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I))

thus for k being Nat st k <= (LifeSpan ((P +* I),(Initialized s))) + 2 holds

IC (Comput ((P +* (while>0 (a,I))),(Initialized s),k)) in dom (while>0 (a,I)) by A2, A3, A1, SCMFSA_9:42; :: thesis: verum