let I be halt-free Program of SCMPDS ; for s being State of SCMPDS st I is_closed_on s & I is_halting_on s holds
IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),(s +* (Initialize (stop I))))) = card I
let s be State of SCMPDS ; ( I is_closed_on s & I is_halting_on s implies IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),(s +* (Initialize (stop I))))) = card I )
set s1 = (Initialize s) +* (stop I);
I1:
s +* (Initialize (stop I)) = (Initialize s) +* (stop I)
by SCMPDS_4:5;
assume that
A1:
I is_closed_on s
and
A2:
I is_halting_on s
; IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),(s +* (Initialize (stop I))))) = card I
set Css = Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)));
reconsider n = IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) as Element of NAT ;
( Initialize (stop I) c= (Initialize s) +* (stop I) & I c= Initialize (stop I) )
by Th17, I1, FUNCT_4:26;
then A3:
I c= (Initialize s) +* (stop I)
by XBOOLE_1:1;
A4:
ProgramPart ((Initialize s) +* (stop I)) halts_on (Initialize s) +* (stop I)
by A2, Def3;
TX:
ProgramPart (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) = ProgramPart ((Initialize s) +* (stop I))
by AMI_1:123;
now Y:
(ProgramPart (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))))) /. (IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))))) = (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) . (IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))))
by COMPOS_1:38;
assume A5:
IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) in dom I
;
contradictionthen I . (IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))))) =
((Initialize s) +* (stop I)) . (IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))))
by A3, GRFUNC_1:8
.=
CurInstr (ProgramPart (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))))),
(Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))))
by Y, AMI_1:54
.=
halt SCMPDS
by A4, TX, AMI_1:def 46
;
hence
contradiction
by A5, SCMPDS_5:def 3;
verum end;
then A6:
n >= card I
by AFINSQ_1:70;
A7:
card (stop I) = (card I) + 1
by SCMPDS_5:7;
IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) in dom (stop I)
by A1, Def2;
then
n < (card I) + 1
by A7, AFINSQ_1:70;
then
n <= card I
by NAT_1:13;
hence
IC (Comput (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)),(LifeSpan (ProgramPart ((Initialize s) +* (stop I))),(s +* (Initialize (stop I))))) = card I
by A6, I1, XXREAL_0:1; verum