let P1, P2 be the Instructions of SCMPDS -valued ManySortedSet of NAT ; for s1, s2 being State of SCMPDS
for I being Program of SCMPDS st I is_closed_on s1,P1 & I is_halting_on s1,P1 & stop I c= P1 & stop I c= P2 & Start-At (0,SCMPDS) c= s1 & Start-At (0,SCMPDS) c= s2 & DataPart s1 = DataPart s2 holds
LifeSpan (P1,s1) = LifeSpan (P2,s2)
let s1, s2 be State of SCMPDS; for I being Program of SCMPDS st I is_closed_on s1,P1 & I is_halting_on s1,P1 & stop I c= P1 & stop I c= P2 & Start-At (0,SCMPDS) c= s1 & Start-At (0,SCMPDS) c= s2 & DataPart s1 = DataPart s2 holds
LifeSpan (P1,s1) = LifeSpan (P2,s2)
let I be Program of SCMPDS; ( I is_closed_on s1,P1 & I is_halting_on s1,P1 & stop I c= P1 & stop I c= P2 & Start-At (0,SCMPDS) c= s1 & Start-At (0,SCMPDS) c= s2 & DataPart s1 = DataPart s2 implies LifeSpan (P1,s1) = LifeSpan (P2,s2) )
assume that
A1:
I is_closed_on s1,P1
and
A2:
I is_halting_on s1,P1
and
A3:
stop I c= P1
and
A4:
stop I c= P2
and
B3:
Start-At (0,SCMPDS) c= s1
and
B4:
Start-At (0,SCMPDS) c= s2
and
A5:
DataPart s1 = DataPart s2
; LifeSpan (P1,s1) = LifeSpan (P2,s2)
A6:
s1 = Initialize s1
by B3, FUNCT_4:104;
P1 = P1 +* (stop I)
by A3, FUNCT_4:104;
then A7:
P1 halts_on s1
by A2, SCMPDS_6:def 3, A6;
A8:
now let k be
Element of
NAT ;
( CurInstr (P2,(Comput (P2,s2,k))) = halt SCMPDS implies LifeSpan (P1,s1) <= k )assume
CurInstr (
P2,
(Comput (P2,s2,k)))
= halt SCMPDS
;
LifeSpan (P1,s1) <= kthen
CurInstr (
P1,
(Comput (P1,s1,k)))
= halt SCMPDS
by A1, A3, A4, A5, Th24, B3, B4;
hence
LifeSpan (
P1,
s1)
<= k
by A7, EXTPRO_1:def 14;
verum end;
CurInstr (P1,(Comput (P1,s1,(LifeSpan (P1,s1))))) = halt SCMPDS
by A7, EXTPRO_1:def 14;
then A9:
CurInstr (P2,(Comput (P2,s2,(LifeSpan (P1,s1))))) = halt SCMPDS
by A1, A3, A4, A5, Th24, B3, B4;
then
P2 halts_on s2
by EXTPRO_1:30;
hence
LifeSpan (P1,s1) = LifeSpan (P2,s2)
by A9, A8, EXTPRO_1:def 14; verum