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,I,P,s)) . k) = 0 & (StepWhile=0 (a,I,P,s)) . k = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),n) holds
( (StepWhile=0 (a,I,P,s)) . k = ((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I))) & (StepWhile=0 (a,I,P,s)) . (k + 1) = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),(n + ((LifeSpan (((P +* (while=0 (a,I))) +* I),(((StepWhile=0 (a,I,P,s)) . k) +* (Initialize I)))) + 3))) )

set D = Int-Locations \/ FinSeq-Locations;
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,I,P,s)) . k) = 0 & (StepWhile=0 (a,I,P,s)) . k = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),n) holds
( (StepWhile=0 (a,I,P,s)) . k = ((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I))) & (StepWhile=0 (a,I,P,s)) . (k + 1) = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),(n + ((LifeSpan (((P +* (while=0 (a,I))) +* I),(((StepWhile=0 (a,I,P,s)) . k) +* (Initialize I)))) + 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,I,P,s)) . k) = 0 & (StepWhile=0 (a,I,P,s)) . k = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),n) holds
( (StepWhile=0 (a,I,P,s)) . k = ((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I))) & (StepWhile=0 (a,I,P,s)) . (k + 1) = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),(n + ((LifeSpan (((P +* (while=0 (a,I))) +* I),(((StepWhile=0 (a,I,P,s)) . k) +* (Initialize I)))) + 3))) )

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

let k, n be Element of NAT ; :: thesis: ( IC ((StepWhile=0 (a,I,P,s)) . k) = 0 & (StepWhile=0 (a,I,P,s)) . k = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),n) implies ( (StepWhile=0 (a,I,P,s)) . k = ((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I))) & (StepWhile=0 (a,I,P,s)) . (k + 1) = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),(n + ((LifeSpan (((P +* (while=0 (a,I))) +* I),(((StepWhile=0 (a,I,P,s)) . k) +* (Initialize I)))) + 3))) ) )
set s1 = s +* (Initialize (while=0 (a,I)));
set P1 = P +* (while=0 (a,I));
set sk = (StepWhile=0 (a,I,P,s)) . k;
set s2 = ((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I)));
assume A1: IC ((StepWhile=0 (a,I,P,s)) . k) = 0 ; :: thesis: ( not (StepWhile=0 (a,I,P,s)) . k = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),n) or ( (StepWhile=0 (a,I,P,s)) . k = ((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I))) & (StepWhile=0 (a,I,P,s)) . (k + 1) = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),(n + ((LifeSpan (((P +* (while=0 (a,I))) +* I),(((StepWhile=0 (a,I,P,s)) . k) +* (Initialize I)))) + 3))) ) )
A2: IC in dom (Initialize (while=0 (a,I))) by COMPOS_1:141;
assume A3: (StepWhile=0 (a,I,P,s)) . k = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),n) ; :: thesis: ( (StepWhile=0 (a,I,P,s)) . k = ((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I))) & (StepWhile=0 (a,I,P,s)) . (k + 1) = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),(n + ((LifeSpan (((P +* (while=0 (a,I))) +* I),(((StepWhile=0 (a,I,P,s)) . k) +* (Initialize I)))) + 3))) )
then A4: ProgramPart ((StepWhile=0 (a,I,P,s)) . k) = ProgramPart (s +* (Initialize (while=0 (a,I)))) by AMI_1:123;
A5: ( DataPart (((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I)))) = DataPart ((StepWhile=0 (a,I,P,s)) . k) & P +* (while=0 (a,I)) = P +* (while=0 (a,I)) ) by SCMFSA8A:11;
A6: (ProgramPart (s +* (Initialize (while=0 (a,I))))) +* (ProgramPart (while=0 (a,I))) = ((ProgramPart s) +* (ProgramPart (Initialize (while=0 (a,I))))) +* (ProgramPart (while=0 (a,I))) by FUNCT_4:75
.= ((ProgramPart s) +* ((ProgramPart (while=0 (a,I))) +* (ProgramPart (Start-At (0,SCM+FSA))))) +* (ProgramPart (while=0 (a,I))) by FUNCT_4:75
.= ((ProgramPart s) +* ((ProgramPart (while=0 (a,I))) +* {})) +* (ProgramPart (while=0 (a,I))) by COMPOS_1:27
.= ((ProgramPart s) +* (ProgramPart (while=0 (a,I)))) +* (ProgramPart (while=0 (a,I))) by FUNCT_4:22
.= (ProgramPart s) +* (ProgramPart (while=0 (a,I))) by FUNCT_4:99 ;
A7: ProgramPart (((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I)))) = (ProgramPart (s +* (Initialize (while=0 (a,I))))) +* (ProgramPart (Initialize (while=0 (a,I)))) by FUNCT_4:75, A4
.= (ProgramPart (s +* (Initialize (while=0 (a,I))))) +* ((ProgramPart (while=0 (a,I))) +* (ProgramPart (Start-At (0,SCM+FSA)))) by FUNCT_4:75
.= ((ProgramPart (s +* (Initialize (while=0 (a,I))))) +* (ProgramPart (while=0 (a,I)))) +* (ProgramPart (Start-At (0,SCM+FSA))) by FUNCT_4:15
.= ((ProgramPart s) +* (ProgramPart (while=0 (a,I)))) +* (ProgramPart (Start-At (0,SCM+FSA))) by A6
.= (ProgramPart s) +* ((ProgramPart (while=0 (a,I))) +* (ProgramPart (Start-At (0,SCM+FSA)))) by FUNCT_4:15
.= (ProgramPart s) +* (ProgramPart (Initialize (while=0 (a,I)))) by FUNCT_4:75
.= ProgramPart (s +* (Initialize (while=0 (a,I)))) by FUNCT_4:75 ;
IC (((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I)))) = IC (Initialize (while=0 (a,I))) by A2, FUNCT_4:14
.= IC ((StepWhile=0 (a,I,P,s)) . k) by A1, COMPOS_1:142 ;
hence ((StepWhile=0 (a,I,P,s)) . k) +* (Initialize (while=0 (a,I))) = (StepWhile=0 (a,I,P,s)) . k by A5, Th29, A7, A4; :: thesis: (StepWhile=0 (a,I,P,s)) . (k + 1) = Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),(n + ((LifeSpan (((P +* (while=0 (a,I))) +* I),(((StepWhile=0 (a,I,P,s)) . k) +* (Initialize I)))) + 3)))
hence (StepWhile=0 (a,I,P,s)) . (k + 1) = Comput ((P +* (while=0 (a,I))),((StepWhile=0 (a,I,P,s)) . k),((LifeSpan (((P +* (while=0 (a,I))) +* I),(((StepWhile=0 (a,I,P,s)) . k) +* (Initialize I)))) + 3)) by Def4
.= Comput ((P +* (while=0 (a,I))),(s +* (Initialize (while=0 (a,I)))),(n + ((LifeSpan (((P +* (while=0 (a,I))) +* I),(((StepWhile=0 (a,I,P,s)) . k) +* (Initialize I)))) + 3))) by A3, EXTPRO_1:5 ;
:: thesis: verum