let P be Instruction-Sequence of SCMPDS; for s being 0 -started State of SCMPDS
for I being parahalting Program of holds
( not I c= P or CurInstr (P,(Comput (P,s,(LifeSpan ((P +* (stop I)),s))))) = halt SCMPDS or IC (Comput (P,s,(LifeSpan ((P +* (stop I)),s)))) = card I )
let s be 0 -started State of SCMPDS; for I being parahalting Program of holds
( not I c= P or CurInstr (P,(Comput (P,s,(LifeSpan ((P +* (stop I)),s))))) = halt SCMPDS or IC (Comput (P,s,(LifeSpan ((P +* (stop I)),s)))) = card I )
let I be parahalting Program of ; ( not I c= P or CurInstr (P,(Comput (P,s,(LifeSpan ((P +* (stop I)),s))))) = halt SCMPDS or IC (Comput (P,s,(LifeSpan ((P +* (stop I)),s)))) = card I )
set PP = P +* (stop I);
set m = LifeSpan ((P +* (stop I)),s);
set s1 = Comput (P,s,(LifeSpan ((P +* (stop I)),s)));
set s2 = Comput ((P +* (stop I)),s,(LifeSpan (((P +* (stop I)) +* (stop I)),(Initialize s))));
set Ik = IC (Comput ((P +* (stop I)),s,(LifeSpan (((P +* (stop I)) +* (stop I)),(Initialize s)))));
A1:
stop I c= P +* (stop I)
by FUNCT_4:25;
then A2:
P +* (stop I) halts_on s
by SCMPDS_4:def 7;
reconsider n = IC (Comput ((P +* (stop I)),s,(LifeSpan (((P +* (stop I)) +* (stop I)),(Initialize s))))) as Nat ;
A3:
IC (Comput ((P +* (stop I)),s,(LifeSpan (((P +* (stop I)) +* (stop I)),(Initialize s))))) in dom (stop I)
by A1, SCMPDS_4:def 6;
A4:
Initialize s = s
by MEMSTR_0:44;
card (stop I) = (card I) + 1
by Lm1, AFINSQ_1:17;
then
n < (card I) + 1
by A3, AFINSQ_1:66;
then A5:
n <= card I
by INT_1:7;
A6:
stop I c= P +* (stop I)
by FUNCT_4:25;
assume A7:
I c= P
; ( CurInstr (P,(Comput (P,s,(LifeSpan ((P +* (stop I)),s))))) = halt SCMPDS or IC (Comput (P,s,(LifeSpan ((P +* (stop I)),s)))) = card I )
then A8:
IC (Comput (P,s,(LifeSpan ((P +* (stop I)),s)))) = IC (Comput ((P +* (stop I)),s,(LifeSpan (((P +* (stop I)) +* (stop I)),(Initialize s)))))
by Th13, A4;
now ( ( n < card I & halt SCMPDS = CurInstr (P,(Comput (P,s,(LifeSpan ((P +* (stop I)),s))))) ) or ( n = card I & IC (Comput (P,s,(LifeSpan ((P +* (stop I)),s)))) = card I ) )per cases
( n < card I or n = card I )
by A5, XXREAL_0:1;
case
n < card I
;
halt SCMPDS = CurInstr (P,(Comput (P,s,(LifeSpan ((P +* (stop I)),s)))))then A9:
n in dom I
by AFINSQ_1:66;
thus halt SCMPDS =
CurInstr (
(P +* (stop I)),
(Comput ((P +* (stop I)),s,(LifeSpan (((P +* (stop I)) +* (stop I)),(Initialize s))))))
by A2, A4, EXTPRO_1:def 15
.=
(P +* (stop I)) . (IC (Comput ((P +* (stop I)),s,(LifeSpan (((P +* (stop I)) +* (stop I)),(Initialize s))))))
by PBOOLE:143
.=
(stop I) . (IC (Comput ((P +* (stop I)),s,(LifeSpan (((P +* (stop I)) +* (stop I)),(Initialize s))))))
by A3, A6, GRFUNC_1:2
.=
I . (IC (Comput ((P +* (stop I)),s,(LifeSpan (((P +* (stop I)) +* (stop I)),(Initialize s))))))
by A9, AFINSQ_1:def 3
.=
P . (IC (Comput (P,s,(LifeSpan ((P +* (stop I)),s)))))
by A7, A8, A9, GRFUNC_1:2
.=
CurInstr (
P,
(Comput (P,s,(LifeSpan ((P +* (stop I)),s)))))
by PBOOLE:143
;
verum end; end; end;
hence
( CurInstr (P,(Comput (P,s,(LifeSpan ((P +* (stop I)),s))))) = halt SCMPDS or IC (Comput (P,s,(LifeSpan ((P +* (stop I)),s)))) = card I )
; verum