let s be State of SCM+FSA ; :: thesis: for I being good InitHalting Program of SCM+FSA
for a being read-write Int-Location st I does_not_destroy a & s . (intloc 0 ) = 1 holds
( Times a,I is_closed_on s & Times a,I is_halting_on s )
let I be good InitHalting Program of SCM+FSA ; :: thesis: for a being read-write Int-Location st I does_not_destroy a & s . (intloc 0 ) = 1 holds
( Times a,I is_closed_on s & Times a,I is_halting_on s )
let a be read-write Int-Location ; :: thesis: ( I does_not_destroy a & s . (intloc 0 ) = 1 implies ( Times a,I is_closed_on s & Times a,I is_halting_on s ) )
assume A1:
I does_not_destroy a
; :: thesis: ( not s . (intloc 0 ) = 1 or ( Times a,I is_closed_on s & Times a,I is_halting_on s ) )
assume A2:
s . (intloc 0 ) = 1
; :: thesis: ( Times a,I is_closed_on s & Times a,I is_halting_on s )
per cases
( s . a > 0 or s . a <= 0 )
;
suppose A4:
s . a > 0
;
:: thesis: ( Times a,I is_closed_on s & Times a,I is_halting_on s )
Directed (loop (if=0 a,(Goto (insloc 2)),(I ';' (SubFrom a,(intloc 0 ))))) = loop (if=0 a,(Goto (insloc 2)),(I ';' (SubFrom a,(intloc 0 ))))
by SCMFSA6A:63;
then
Directed (loop (if=0 a,(Goto (insloc 2)),(I ';' (SubFrom a,(intloc 0 ))))) is_pseudo-closed_on s
by A1, A2, A4, Th73;
hence
(
Times a,
I is_closed_on s &
Times a,
I is_halting_on s )
by A4, SCMFSA8C:68;
:: thesis: verum end; end;