let P be Instruction-Sequence of SCM+FSA; :: thesis: for I being MacroInstruction of SCM+FSA
for a being read-write Int-Location
for s being State of SCM+FSA
for k, n being Nat st IC ((StepWhile>0 (a,P,s,I)) . k) = 0 & (StepWhile>0 (a,P,s,I)) . k = Comput ((P +* (while>0 (a,I))),(Initialized s),n) & ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 holds
( (StepWhile>0 (a,P,s,I)) . k = Initialized ((StepWhile>0 (a,P,s,I)) . k) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2))) )

let I be MacroInstruction of SCM+FSA ; :: thesis: for a being read-write Int-Location
for s being State of SCM+FSA
for k, n being Nat st IC ((StepWhile>0 (a,P,s,I)) . k) = 0 & (StepWhile>0 (a,P,s,I)) . k = Comput ((P +* (while>0 (a,I))),(Initialized s),n) & ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 holds
( (StepWhile>0 (a,P,s,I)) . k = Initialized ((StepWhile>0 (a,P,s,I)) . k) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2))) )

let a be read-write Int-Location; :: thesis: for s being State of SCM+FSA
for k, n being Nat st IC ((StepWhile>0 (a,P,s,I)) . k) = 0 & (StepWhile>0 (a,P,s,I)) . k = Comput ((P +* (while>0 (a,I))),(Initialized s),n) & ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 holds
( (StepWhile>0 (a,P,s,I)) . k = Initialized ((StepWhile>0 (a,P,s,I)) . k) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2))) )

let s be State of SCM+FSA; :: thesis: for k, n being Nat st IC ((StepWhile>0 (a,P,s,I)) . k) = 0 & (StepWhile>0 (a,P,s,I)) . k = Comput ((P +* (while>0 (a,I))),(Initialized s),n) & ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 holds
( (StepWhile>0 (a,P,s,I)) . k = Initialized ((StepWhile>0 (a,P,s,I)) . k) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2))) )

let k, n be Nat; :: thesis: ( IC ((StepWhile>0 (a,P,s,I)) . k) = 0 & (StepWhile>0 (a,P,s,I)) . k = Comput ((P +* (while>0 (a,I))),(Initialized s),n) & ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 implies ( (StepWhile>0 (a,P,s,I)) . k = Initialized ((StepWhile>0 (a,P,s,I)) . k) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2))) ) )
set D = Data-Locations ;
set s1 = Initialized s;
set P1 = P +* (while>0 (a,I));
set sk = (StepWhile>0 (a,P,s,I)) . k;
set s0k = Initialized ((StepWhile>0 (a,P,s,I)) . k);
set s2 = Initialize (Initialized ((StepWhile>0 (a,P,s,I)) . k));
set s3 = Initialized ((StepWhile>0 (a,P,s,I)) . k);
assume A1: IC ((StepWhile>0 (a,P,s,I)) . k) = 0 ; :: thesis: ( not (StepWhile>0 (a,P,s,I)) . k = Comput ((P +* (while>0 (a,I))),(Initialized s),n) or not ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 or ( (StepWhile>0 (a,P,s,I)) . k = Initialized ((StepWhile>0 (a,P,s,I)) . k) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2))) ) )
assume A2: (StepWhile>0 (a,P,s,I)) . k = Comput ((P +* (while>0 (a,I))),(Initialized s),n) ; :: thesis: ( not ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 or ( (StepWhile>0 (a,P,s,I)) . k = Initialized ((StepWhile>0 (a,P,s,I)) . k) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2))) ) )
assume A3: ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 ; :: thesis: ( (StepWhile>0 (a,P,s,I)) . k = Initialized ((StepWhile>0 (a,P,s,I)) . k) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2))) )
thus Initialized ((StepWhile>0 (a,P,s,I)) . k) = Initialized ((StepWhile>0 (a,P,s,I)) . k)
.= (StepWhile>0 (a,P,s,I)) . k by A3, A1, SCMFSA_M:8 ; :: thesis: (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2)))
hence (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),((StepWhile>0 (a,P,s,I)) . k),((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2)) by Def1
.= Comput ((P +* (while>0 (a,I))),(Initialized s),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(Initialized ((StepWhile>0 (a,P,s,I)) . k)))) + 2))) by A2, EXTPRO_1:4 ;
:: thesis: verum