let s be 0 -started State of SCMPDS; :: thesis: 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; :: thesis: ( 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 ; :: thesis: ( 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 ; :: thesis: 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 ; :: thesis: verum
end;
case n = card I ; :: thesis: IC (Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))) = card I
hence IC (Comput ((ProgramPart s),s,(LifeSpan ((ProgramPart (s +* (stop I))),(s +* (stop I)))))) = card I by A6, XX, Th29, COMPOS_1:24; :: thesis: 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 ) ; :: thesis: verum