let P be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; 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))) )
let I be 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))) )
let a be 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 s be 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 k, n be Element of NAT ; ( 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 D = Int-Locations \/ FinSeq-Locations;
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
; ( 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)
; ( (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))) )
A4: ProgramPart (s +* (Initialize (while>0 (a,I)))) =
(ProgramPart s) +* (ProgramPart (Initialize (while>0 (a,I))))
by FUNCT_4:75
.=
(ProgramPart s) +* ((ProgramPart (while>0 (a,I))) +* (ProgramPart (Start-At (0,SCM+FSA))))
by FUNCT_4:75
.=
(ProgramPart s) +* ((ProgramPart (while>0 (a,I))) +* {})
by COMPOS_1:27
.=
(ProgramPart s) +* (ProgramPart (while>0 (a,I)))
by FUNCT_4:22
;
A5: ProgramPart (((StepWhile>0 (a,I,P,s)) . k) +* (Initialize (while>0 (a,I)))) =
(ProgramPart ((StepWhile>0 (a,I,P,s)) . k)) +* (ProgramPart (Initialize (while>0 (a,I))))
by FUNCT_4:75
.=
(ProgramPart (s +* (Initialize (while>0 (a,I))))) +* (ProgramPart (Initialize (while>0 (a,I))))
by AMI_1:123, A3
.=
(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))) +* {})
by COMPOS_1:27
.=
(ProgramPart (s +* (Initialize (while>0 (a,I))))) +* (ProgramPart (while>0 (a,I)))
by FUNCT_4:22
.=
(ProgramPart s) +* (ProgramPart (while>0 (a,I)))
by FUNCT_4:99, A4
.=
(ProgramPart s) +* ((ProgramPart (while>0 (a,I))) +* {})
by FUNCT_4:22
.=
(ProgramPart s) +* ((ProgramPart (while>0 (a,I))) +* (ProgramPart (Start-At (0,SCM+FSA))))
by COMPOS_1:27
.=
(ProgramPart s) +* (ProgramPart (Initialize (while>0 (a,I))))
by FUNCT_4:75
.=
ProgramPart (s +* (Initialize (while>0 (a,I))))
by FUNCT_4:75
.=
ProgramPart (Comput ((P +* (while>0 (a,I))),(s +* (Initialize (while>0 (a,I)))),n))
by AMI_1:123
;
A6:
( 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;
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 A6, Th29, A5, A3; (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 Def5
.=
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
;
verum