set D = Int-Locations \/ FinSeq-Locations ;
let s be State of SCM+FSA ; :: thesis: for I being parahalting good 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),s) = DataPart s
let I be parahalting good Program of SCM+FSA ; :: thesis: for a being read-write Int-Location st s . (intloc 0 ) = 1 & s . a <= 0 holds
DataPart (IExec (Times a,I),s) = DataPart s
let a be read-write Int-Location ; :: thesis: ( s . (intloc 0 ) = 1 & s . a <= 0 implies DataPart (IExec (Times a,I),s) = DataPart s )
assume A1:
s . (intloc 0 ) = 1
; :: thesis: ( not s . a <= 0 or DataPart (IExec (Times a,I),s) = DataPart s )
assume
s . a <= 0
; :: thesis: DataPart (IExec (Times a,I),s) = DataPart s
then A2:
(Initialize s) . a <= 0
by SCMFSA6C:3;
set s0 = Initialize s;
A3:
( Stop SCM+FSA is_closed_on Initialize s & Stop SCM+FSA is_halting_on Initialize s )
by SCMFSA7B:24, SCMFSA7B:25;
then A4:
( Times a,I is_closed_on Initialize s & Times a,I is_halting_on Initialize s )
by A2, SCMFSA8B:24;
B5:
( Stop SCM+FSA is_closed_on Initialize s & Stop SCM+FSA is_halting_on Initialize s )
by SCMFSA7B:24, SCMFSA7B:25;
A6:
( (Initialize s) . (intloc 0 ) = 1 & ( for a being read-write Int-Location holds (Initialize s) . a = s . a ) & ( for f being FinSeq-Location holds (Initialize s) . f = s . f ) )
by SCMFSA6C:3;
then A7: DataPart (IExec (Times a,I),s) =
DataPart (IExec (Times a,I),(Initialize s))
by A4, Th45
.=
DataPart (IExec ((Stop SCM+FSA ) ';' (Stop SCM+FSA )),(Initialize s))
by A2, B5, A6, Th73, SCMFSA8A:37
;
A8: DataPart (IExec (Stop SCM+FSA ),(Initialize s)) =
DataPart ((Initialize (Initialize s)) +* (Start-At (insloc 0 )))
by Th38
.=
DataPart ((Initialize s) +* (Start-At (insloc 0 )))
by Th15
.=
DataPart (Initialize s)
by SCMFSA8A:10
;
IExec ((Stop SCM+FSA ) ';' (Stop SCM+FSA )),(Initialize s) = (IExec (Stop SCM+FSA ),(IExec (Stop SCM+FSA ),(Initialize s))) +* (Start-At ((IC (IExec (Stop SCM+FSA ),(IExec (Stop SCM+FSA ),(Initialize s)))) + (card (Stop SCM+FSA ))))
by SCMFSA6B:44;
hence DataPart (IExec (Times a,I),s) =
DataPart (IExec (Stop SCM+FSA ),(IExec (Stop SCM+FSA ),(Initialize s)))
by A7, SCMFSA8A:10
.=
DataPart (IExec (Stop SCM+FSA ),(Initialize s))
by A3, A6, A8, Th46
.=
DataPart s
by A1, A8, Th27
;
:: thesis: verum