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

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

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

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

let k, n be Element of NAT ; :: thesis: ( IC ((StepWhile>0 (a,P,s,I)) . k) = 0 & (StepWhile>0 (a,P,s,I)) . k = Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),n) & ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 implies ( (StepWhile>0 (a,P,s,I)) . k = ((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1)) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1))))) + 3))) ) )
set D = Data-Locations SCM+FSA;
set s1 = s +* (Initialize ((intloc 0) .--> 1));
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 At0 = Initialize (while>0 (a,I));
set s2 = (Initialized ((StepWhile>0 (a,P,s,I)) . k)) +* (Start-At (0,SCM+FSA));
set s3 = ((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1));
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))),(s +* (Initialize ((intloc 0) .--> 1))),n) or not ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 or ( (StepWhile>0 (a,P,s,I)) . k = ((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1)) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1))))) + 3))) ) )
assume A4: (StepWhile>0 (a,P,s,I)) . k = Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),n) ; :: thesis: ( not ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 or ( (StepWhile>0 (a,P,s,I)) . k = ((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1)) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1))))) + 3))) ) )
assume A7: ((StepWhile>0 (a,P,s,I)) . k) . (intloc 0) = 1 ; :: thesis: ( (StepWhile>0 (a,P,s,I)) . k = ((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1)) & (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1))))) + 3))) )
thus ((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1)) = Initialized ((StepWhile>0 (a,P,s,I)) . k) by SCMFSA6A:def 4
.= (StepWhile>0 (a,P,s,I)) . k by A7, A1, SCMFSA6A:81 ; :: thesis: (StepWhile>0 (a,P,s,I)) . (k + 1) = Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1))))) + 3)))
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),(((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1))))) + 3)) by Def1
.= Comput ((P +* (while>0 (a,I))),(s +* (Initialize ((intloc 0) .--> 1))),(n + ((LifeSpan (((P +* (while>0 (a,I))) +* I),(((StepWhile>0 (a,P,s,I)) . k) +* (Initialize ((intloc 0) .--> 1))))) + 3))) by A4, EXTPRO_1:5 ;
:: thesis: verum