let I be good InitHalting Program of SCM+FSA ; for a being read-write Int-Location st not I destroysdestroy a holds
Initialized (Times a,I) is halting
let a be read-write Int-Location ; ( not I destroysdestroy a implies Initialized (Times a,I) is halting )
assume A1:
not I destroysdestroy a
; Initialized (Times a,I) is halting
now let s be
State of
SCM+FSA ;
Initialized (Times a,I) is_halting_on b1per cases
( s . a > 0 or s . a <= 0 )
;
suppose
s . a > 0
;
Initialized (Times a,I) is_halting_on b1then A2:
(Initialized s) . a > 0
by SCMFSA6C:3;
(
(Initialized s) . (intloc 0 ) = 1 &
Directed (loop (if=0 a,(Goto 2),(I ';' (SubFrom a,(intloc 0 ))))) = loop (if=0 a,(Goto 2),(I ';' (SubFrom a,(intloc 0 )))) )
by SCMFSA6A:63, SCMFSA6C:3;
then
Directed (loop (if=0 a,(Goto 2),(I ';' (SubFrom a,(intloc 0 ))))) is_pseudo-closed_on Initialized s
by A1, A2, Th73;
then
Times a,
I is_halting_on Initialized s
by A2, SCMFSA8C:68;
hence
Initialized (Times a,I) is_halting_on s
by SCMFSA8C:22;
verum end; end; end;
hence
Initialized (Times a,I) is halting
by SCMFSA8C:24; verum