let p be Instruction-Sequence of SCM+FSA; for s being State of SCM+FSA
for I being good InitHalting Program of SCM+FSA
for a being read-write Int-Location st s . (intloc 0) = 1 & s . a <= 0 holds
DataPart (IExec ((Times (a,I)),p,s)) = DataPart s
let s be State of SCM+FSA; for I being good InitHalting Program of SCM+FSA
for a being read-write Int-Location st s . (intloc 0) = 1 & s . a <= 0 holds
DataPart (IExec ((Times (a,I)),p,s)) = DataPart s
let I be good InitHalting Program of SCM+FSA; for a being read-write Int-Location st s . (intloc 0) = 1 & s . a <= 0 holds
DataPart (IExec ((Times (a,I)),p,s)) = DataPart s
let a be read-write Int-Location ; ( s . (intloc 0) = 1 & s . a <= 0 implies DataPart (IExec ((Times (a,I)),p,s)) = DataPart s )
assume A1:
s . (intloc 0) = 1
; ( not s . a <= 0 or DataPart (IExec ((Times (a,I)),p,s)) = DataPart s )
set s0 = Initialized s;
set p0 = p;
A2:
( Stop SCM+FSA is_closed_on Initialized s,p & Stop SCM+FSA is_halting_on Initialized s,p )
by SCMFSA7B:18, SCMFSA7B:19;
A3:
( ( for a being read-write Int-Location holds (Initialized s) . a = s . a ) & ( for f being FinSeq-Location holds (Initialized s) . f = s . f ) )
by SCMFSA6C:3;
A4:
(Initialized s) . (intloc 0) = 1
by SCMFSA6A:38;
assume
s . a <= 0
; DataPart (IExec ((Times (a,I)),p,s)) = DataPart s
then A5:
(Initialized s) . a <= 0
by SCMFSA6C:3;
A6:
IExec (((Stop SCM+FSA) ';' (Stop SCM+FSA)),p,(Initialized s)) = IncIC ((IExec ((Stop SCM+FSA),p,(IExec ((Stop SCM+FSA),p,(Initialized s))))),(card (Stop SCM+FSA)))
by SCMFSA6B:20;
A7: DataPart (IExec ((Stop SCM+FSA),p,(Initialized s))) =
DataPart (Initialized (Initialized s))
by SCMFSA8C:14
.=
DataPart (Initialized s)
;
A8:
( Stop SCM+FSA is_closed_on Initialized s,p & Stop SCM+FSA is_halting_on Initialized s,p )
by SCMFSA7B:18, SCMFSA7B:19;
then
( Times (a,I) is_closed_on Initialized s,p & Times (a,I) is_halting_on Initialized s,p )
by A5, SCMFSA8B:21;
then DataPart (IExec ((Times (a,I)),p,s)) =
DataPart (IExec ((Times (a,I)),p,(Initialized s)))
by A4, A3, SCMFSA8C:19
.=
DataPart (IExec (((Stop SCM+FSA) ';' (Stop SCM+FSA)),p,(Initialized s)))
by A5, A2, A4, SCMFSA8A:23, SCMFSA8C:44
;
hence DataPart (IExec ((Times (a,I)),p,s)) =
DataPart (IExec ((Stop SCM+FSA),p,(IExec ((Stop SCM+FSA),p,(Initialized s)))))
by A6, MEMSTR_0:79
.=
DataPart (IExec ((Stop SCM+FSA),p,(Initialized s)))
by A8, A4, A7, SCMFSA8C:20
.=
DataPart s
by A1, A7, SCMFSA8C:7
;
verum