let s2 be State of SCM+FSA; for P2 being the Instructions of SCM+FSA -valued ManySortedSet of NAT holds not P2 +* ((IC s2),(goto (IC s2))) halts_on s2 +* ((IC s2),(goto (IC s2)))
let P2 be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; not P2 +* ((IC s2),(goto (IC s2))) halts_on s2 +* ((IC s2),(goto (IC s2)))
set s1 = s2 +* ((IC s2),(goto (IC s2)));
set P1 = P2 +* ((IC s2),(goto (IC s2)));
defpred S1[ Nat] means IC (Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),$1)) = IC (s2 +* ((IC s2),(goto (IC s2))));
IC <> IC s2
by COMPOS_1:3;
then A1:
IC (s2 +* ((IC s2),(goto (IC s2)))) = IC s2
by FUNCT_7:34;
IC s2 in NAT
;
then A2:
IC s2 in dom P2
by PARTFUN1:def 4;
A3:
now let n be
Element of
NAT ;
( S1[n] implies S1[n + 1] )assume
S1[
n]
;
S1[n + 1]then A5:
CurInstr (
(P2 +* ((IC s2),(goto (IC s2)))),
(Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n))) =
(P2 +* ((IC s2),(goto (IC s2)))) . (IC (s2 +* ((IC s2),(goto (IC s2)))))
by PBOOLE:158
.=
goto (IC s2)
by A1, A2, FUNCT_7:33
;
IC (Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),(n + 1))) =
IC (Following ((P2 +* ((IC s2),(goto (IC s2)))),(Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n))))
by EXTPRO_1:4
.=
IC (s2 +* ((IC s2),(goto (IC s2))))
by A1, A5, SCMFSA_2:95
;
hence
S1[
n + 1]
;
verum end;
let n be Nat; EXTPRO_1:def 7 ( not IC (Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n)) in proj1 (P2 +* ((IC s2),(goto (IC s2)))) or not CurInstr ((P2 +* ((IC s2),(goto (IC s2)))),(Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n))) = halt SCM+FSA )
A6:
S1[ 0 ]
by EXTPRO_1:3;
assume
IC (Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n)) in dom (P2 +* ((IC s2),(goto (IC s2))))
; not CurInstr ((P2 +* ((IC s2),(goto (IC s2)))),(Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n))) = halt SCM+FSA
reconsider n = n as Element of NAT by ORDINAL1:def 13;
A7:
(P2 +* ((IC s2),(goto (IC s2)))) /. (IC (Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n))) = (P2 +* ((IC s2),(goto (IC s2)))) . (IC (Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n)))
by PBOOLE:158;
for n being Element of NAT holds S1[n]
from NAT_1:sch 1(A6, A3);
then CurInstr ((P2 +* ((IC s2),(goto (IC s2)))),(Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n))) =
(P2 +* ((IC s2),(goto (IC s2)))) . (IC (s2 +* ((IC s2),(goto (IC s2)))))
by A7
.=
goto (IC s2)
by A1, A2, FUNCT_7:33
;
hence
not CurInstr ((P2 +* ((IC s2),(goto (IC s2)))),(Comput ((P2 +* ((IC s2),(goto (IC s2)))),(s2 +* ((IC s2),(goto (IC s2)))),n))) = halt SCM+FSA
; verum