let s be 0 -started State of SCMPDS; for I being parahalting Program of SCMPDS holds
( not I c= s or CurInstr ((ProgramPart s),(Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I))))))) = halt SCMPDS or IC (Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))) = card I )
let I be parahalting Program of SCMPDS; ( not I c= s or CurInstr ((ProgramPart s),(Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I))))))) = halt SCMPDS or IC (Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))) = card I )
set ss = s +* (stop I);
set m = LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)));
set s1 = Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))));
set s2 = Comput ((ProgramPart (s +* (stop I))),(s +* (stop I)),(LifeSpan ((ProgramPart ((Initialize (s +* (stop I))) +* (stop I))),((Initialize (s +* (stop I))) +* (stop I)))));
set Ik = IC (Comput ((ProgramPart (s +* (stop I))),(s +* (stop I)),(LifeSpan ((ProgramPart ((Initialize (s +* (stop I))) +* (stop I))),((Initialize (s +* (stop I))) +* (stop I))))));
A1:
ProgramPart (s +* (stop I)) halts_on s +* (stop I)
by FUNCT_4:26, SCMPDS_4:def 10;
reconsider n = IC (Comput ((ProgramPart (s +* (stop I))),(s +* (stop I)),(LifeSpan ((ProgramPart ((Initialize (s +* (stop I))) +* (stop I))),((Initialize (s +* (stop I))) +* (stop I)))))) as Element of NAT ;
A2:
stop I c= s +* (stop I)
by FUNCT_4:26;
A3:
IC (Comput ((ProgramPart (s +* (stop I))),(s +* (stop I)),(LifeSpan ((ProgramPart ((Initialize (s +* (stop I))) +* (stop I))),((Initialize (s +* (stop I))) +* (stop I)))))) in dom (stop I)
by FUNCT_4:26, SCMPDS_4:def 9;
Initialize (s +* (stop I)) = s +* (stop I)
by COMPOS_1:79;
then XX:
(Initialize (s +* (stop I))) +* (stop I) = s +* (stop I)
by A2, FUNCT_4:79;
card (stop I) = (card I) + 1
by LL, AFINSQ_1:20;
then
n < (card I) + 1
by A3, AFINSQ_1:70;
then A4:
n <= card I
by INT_1:20;
A5:
stop I c= s +* (stop I)
by FUNCT_4:26;
assume A6:
I c= s
; ( CurInstr ((ProgramPart s),(Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I))))))) = halt SCMPDS or IC (Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))) = card I )
then A7:
IC (Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))) = IC (Comput ((ProgramPart (s +* (stop I))),(s +* (stop I)),(LifeSpan ((ProgramPart ((Initialize (s +* (stop I))) +* (stop I))),((Initialize (s +* (stop I))) +* (stop I))))))
by XX, Th29, COMPOS_1:24;
now per cases
( n < card I or n = card I )
by A4, XXREAL_0:1;
case
n < card I
;
halt SCMPDS = CurInstr ((ProgramPart s),(Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))))then A9:
n in dom I
by AFINSQ_1:70;
thus halt SCMPDS =
CurInstr (
(ProgramPart (s +* (stop I))),
(Comput ((ProgramPart (s +* (stop I))),(s +* (stop I)),(LifeSpan ((ProgramPart ((Initialize (s +* (stop I))) +* (stop I))),((Initialize (s +* (stop I))) +* (stop I)))))))
by XX, A1, EXTPRO_1:def 14
.=
(s +* (stop I)) . (IC (Comput ((ProgramPart (s +* (stop I))),(s +* (stop I)),(LifeSpan ((ProgramPart ((Initialize (s +* (stop I))) +* (stop I))),((Initialize (s +* (stop I))) +* (stop I)))))))
by COMPOS_1:38
.=
(stop I) . (IC (Comput ((ProgramPart (s +* (stop I))),(s +* (stop I)),(LifeSpan ((ProgramPart ((Initialize (s +* (stop I))) +* (stop I))),((Initialize (s +* (stop I))) +* (stop I)))))))
by A3, A5, GRFUNC_1:8
.=
I . (IC (Comput ((ProgramPart (s +* (stop I))),(s +* (stop I)),(LifeSpan ((ProgramPart ((Initialize (s +* (stop I))) +* (stop I))),((Initialize (s +* (stop I))) +* (stop I)))))))
by A9, AFINSQ_1:def 4
.=
s . (IC (Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))))
by A6, A7, A9, GRFUNC_1:8
.=
CurInstr (
(ProgramPart s),
(Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))))
by COMPOS_1:38
;
verum end; end; end;
hence
( CurInstr ((ProgramPart s),(Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I))))))) = halt SCMPDS or IC (Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))) = card I )
; verum