let l be Instruction-Location of SCM+FSA ; :: thesis: for s being State of SCM+FSA st IC s = l & s . l = goto l holds
not s is halting
let s be State of SCM+FSA ; :: thesis: ( IC s = l & s . l = goto l implies not s is halting )
set S = s;
assume that
A1:
IC s = l
and
A2:
s . l = goto l
; :: thesis: not s is halting
defpred S1[ Element of NAT ] means Computation s,$1 = s;
A3:
for m being Element of NAT st S1[m] holds
S1[m + 1]
proof
let m be
Element of
NAT ;
:: thesis: ( S1[m] implies S1[m + 1] )
A4:
( ( for
f being
FinSeq-Location holds
(Exec (goto l),s) . f = s . f ) & ( for
i being
Instruction-Location of
SCM+FSA holds
(Exec (goto l),s) . i = s . i ) )
by AMI_1:def 13, SCMFSA_2:95;
A5:
(
IC (Exec (goto l),s) = IC s & ( for
a being
Int-Location holds
(Exec (goto l),s) . a = s . a ) )
by A1, SCMFSA_2:95;
assume
Computation s,
m = s
;
:: thesis: S1[m + 1]
hence Computation s,
(m + 1) =
Following s
by AMI_1:14
.=
s
by A1, A2, A5, A4, SCMFSA_2:86
;
:: thesis: verum
end;
let m be Element of NAT ; :: according to AMI_1:def 20 :: thesis: not CurInstr (Computation s,m) = halt SCM+FSA
A6:
S1[ 0 ]
by AMI_1:13;
A7:
for m being Element of NAT holds S1[m]
from NAT_1:sch 1(A6, A3);
CurInstr s = goto l
by A1, A2;
then
CurInstr (Computation s,m) = goto l
by A7;
hence
not CurInstr (Computation s,m) = halt SCM+FSA
by SCMFSA_2:47, SCMFSA_2:124; :: thesis: verum