let s be State of SCMPDS ; :: thesis: for I being parahalting Program of SCMPDS holds
( not Initialized I c= s or CurInstr (Computation s,(LifeSpan (s +* (Initialized (stop I))))) = halt SCMPDS or IC (Computation s,(LifeSpan (s +* (Initialized (stop I))))) = inspos (card I) )
let I be parahalting Program of SCMPDS ; :: thesis: ( not Initialized I c= s or CurInstr (Computation s,(LifeSpan (s +* (Initialized (stop I))))) = halt SCMPDS or IC (Computation s,(LifeSpan (s +* (Initialized (stop I))))) = inspos (card I) )
set IsI = Initialized (stop I);
set ss = s +* (Initialized (stop I));
set m = LifeSpan (s +* (Initialized (stop I)));
assume A1:
Initialized I c= s
; :: thesis: ( CurInstr (Computation s,(LifeSpan (s +* (Initialized (stop I))))) = halt SCMPDS or IC (Computation s,(LifeSpan (s +* (Initialized (stop I))))) = inspos (card I) )
A2:
Initialized (stop I) c= s +* (Initialized (stop I))
by FUNCT_4:26;
A3:
I c= s
by A1, SCMPDS_4:57;
set s1 = Computation s,(LifeSpan (s +* (Initialized (stop I))));
set s2 = Computation (s +* (Initialized (stop I))),(LifeSpan ((s +* (Initialized (stop I))) +* (Initialized (stop I))));
set Ik = IC (Computation (s +* (Initialized (stop I))),(LifeSpan ((s +* (Initialized (stop I))) +* (Initialized (stop I)))));
A4: IC (Computation s,(LifeSpan (s +* (Initialized (stop I))))) =
IC (Computation (s +* (Initialized (stop I))),(LifeSpan (s +* (Initialized (stop I)))))
by A1, Th29, AMI_1:121
.=
IC (Computation (s +* (Initialized (stop I))),(LifeSpan ((s +* (Initialized (stop I))) +* (Initialized (stop I)))))
by A2, FUNCT_4:79
;
A5:
IC (Computation (s +* (Initialized (stop I))),(LifeSpan ((s +* (Initialized (stop I))) +* (Initialized (stop I))))) in dom (stop I)
by A2, SCMPDS_4:def 9;
A6:
s +* (Initialized (stop I)) is halting
by FUNCT_4:26, SCMPDS_4:63;
stop I c= Initialized (stop I)
by SCMPDS_4:9;
then A7:
stop I c= s +* (Initialized (stop I))
by A2, XBOOLE_1:1;
reconsider n = IC (Computation (s +* (Initialized (stop I))),(LifeSpan ((s +* (Initialized (stop I))) +* (Initialized (stop I))))) as Element of NAT by ORDINAL1:def 13;
card (stop I) = (card I) + 1
by SCMPDS_4:45, SCMPDS_4:74;
then
n < (card I) + 1
by A5, SCMPDS_4:1;
then A9:
n <= card I
by INT_1:20;
now per cases
( n < card I or n = card I )
by A9, XXREAL_0:1;
case
n < card I
;
:: thesis: halt SCMPDS = CurInstr (Computation s,(LifeSpan (s +* (Initialized (stop I)))))then A10:
inspos n in dom I
by SCMPDS_4:1;
thus halt SCMPDS =
CurInstr (Computation (s +* (Initialized (stop I))),(LifeSpan (s +* (Initialized (stop I)))))
by A6, AMI_1:def 46
.=
CurInstr (Computation (s +* (Initialized (stop I))),(LifeSpan ((s +* (Initialized (stop I))) +* (Initialized (stop I)))))
by A2, FUNCT_4:79
.=
(s +* (Initialized (stop I))) . (IC (Computation (s +* (Initialized (stop I))),(LifeSpan ((s +* (Initialized (stop I))) +* (Initialized (stop I))))))
by AMI_1:54
.=
(stop I) . (IC (Computation (s +* (Initialized (stop I))),(LifeSpan ((s +* (Initialized (stop I))) +* (Initialized (stop I))))))
by A5, A7, GRFUNC_1:8
.=
I . (IC (Computation (s +* (Initialized (stop I))),(LifeSpan ((s +* (Initialized (stop I))) +* (Initialized (stop I))))))
by A10, SCMPDS_4:37
.=
s . (IC (Computation s,(LifeSpan (s +* (Initialized (stop I))))))
by A3, A4, A10, GRFUNC_1:8
.=
CurInstr (Computation s,(LifeSpan (s +* (Initialized (stop I)))))
by AMI_1:54
;
:: thesis: verum end; end; end;
hence
( CurInstr (Computation s,(LifeSpan (s +* (Initialized (stop I))))) = halt SCMPDS or IC (Computation s,(LifeSpan (s +* (Initialized (stop I))))) = inspos (card I) )
; :: thesis: verum