set D = Int-Locations \/ FinSeq-Locations;
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,s)) . k) = 0 & (StepWhile=0 (a,I,s)) . k = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),n) holds
( (StepWhile=0 (a,I,s)) . k = ((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))) & (StepWhile=0 (a,I,s)) . (k + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),(n + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 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,s)) . k) = 0 & (StepWhile=0 (a,I,s)) . k = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),n) holds
( (StepWhile=0 (a,I,s)) . k = ((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))) & (StepWhile=0 (a,I,s)) . (k + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),(n + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 3))) )
let s be State of SCM+FSA; for k, n being Element of NAT st IC ((StepWhile=0 (a,I,s)) . k) = 0 & (StepWhile=0 (a,I,s)) . k = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),n) holds
( (StepWhile=0 (a,I,s)) . k = ((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))) & (StepWhile=0 (a,I,s)) . (k + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),(n + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 3))) )
let k, n be Element of NAT ; ( IC ((StepWhile=0 (a,I,s)) . k) = 0 & (StepWhile=0 (a,I,s)) . k = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),n) implies ( (StepWhile=0 (a,I,s)) . k = ((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))) & (StepWhile=0 (a,I,s)) . (k + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),(n + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 3))) ) )
set s1 = s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)));
set sk = (StepWhile=0 (a,I,s)) . k;
set s2 = ((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)));
assume A1:
IC ((StepWhile=0 (a,I,s)) . k) = 0
; ( not (StepWhile=0 (a,I,s)) . k = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),n) or ( (StepWhile=0 (a,I,s)) . k = ((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))) & (StepWhile=0 (a,I,s)) . (k + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),(n + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 3))) ) )
A2:
IC SCM+FSA in dom ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))
by COMPOS_1:141;
assume A3:
(StepWhile=0 (a,I,s)) . k = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),n)
; ( (StepWhile=0 (a,I,s)) . k = ((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))) & (StepWhile=0 (a,I,s)) . (k + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),(n + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 3))) )
then
ProgramPart ((StepWhile=0 (a,I,s)) . k) = ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))
by AMI_1:123;
then A4:
( DataPart (((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) = DataPart ((StepWhile=0 (a,I,s)) . k) & ProgramPart (((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) = ProgramPart ((StepWhile=0 (a,I,s)) . k) )
by FUNCT_4:100, SCMFSA8A:11;
T:
ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) = ProgramPart ((StepWhile=0 (a,I,s)) . k)
by A3, AMI_1:123;
IC (((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))) =
IC ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))
by A2, FUNCT_4:14
.=
IC ((StepWhile=0 (a,I,s)) . k)
by A1, COMPOS_1:142
;
hence
((StepWhile=0 (a,I,s)) . k) +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))) = (StepWhile=0 (a,I,s)) . k
by A4, Th29; (StepWhile=0 (a,I,s)) . (k + 1) = Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),(n + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 3)))
hence (StepWhile=0 (a,I,s)) . (k + 1) =
Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),((StepWhile=0 (a,I,s)) . k),((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 3))
by Def4, T
.=
Comput ((ProgramPart (s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA))))),(s +* ((while=0 (a,I)) +* (Start-At (0,SCM+FSA)))),(n + ((LifeSpan ((ProgramPart (((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA))))),(((StepWhile=0 (a,I,s)) . k) +* (I +* (Start-At (0,SCM+FSA)))))) + 3)))
by A3, EXTPRO_1:5
;
verum