let P1, P2 be Instruction-Sequence of SCMPDS; for s being 0 -started State of SCMPDS
for I being Program of SCMPDS st I is_closed_on s,P1 & I is_halting_on s,P1 & stop I c= P1 & stop I c= P2 holds
( LifeSpan (P1,s) = LifeSpan (P2,s) & Result (P1,s) = Result (P2,s) )
let s be 0 -started State of SCMPDS; for I being Program of SCMPDS st I is_closed_on s,P1 & I is_halting_on s,P1 & stop I c= P1 & stop I c= P2 holds
( LifeSpan (P1,s) = LifeSpan (P2,s) & Result (P1,s) = Result (P2,s) )
let I be Program of SCMPDS; ( I is_closed_on s,P1 & I is_halting_on s,P1 & stop I c= P1 & stop I c= P2 implies ( LifeSpan (P1,s) = LifeSpan (P2,s) & Result (P1,s) = Result (P2,s) ) )
assume that
A1:
I is_closed_on s,P1
and
A2:
I is_halting_on s,P1
and
A3:
stop I c= P1
and
A4:
stop I c= P2
; ( LifeSpan (P1,s) = LifeSpan (P2,s) & Result (P1,s) = Result (P2,s) )
B3:
Start-At (0,SCMPDS) c= s
by MEMSTR_0:29;
B4:
Start-At (0,SCMPDS) c= s
by MEMSTR_0:29;
DataPart s = DataPart s
;
then A6:
I is_halting_on s,P2
by A1, A2, SCMPDS_6:23;
A7:
Initialize s = s
by B3, FUNCT_4:98;
A8:
Initialize s = s
by B4, FUNCT_4:98;
P2 = P2 +* (stop I)
by A4, FUNCT_4:98;
then A9:
P2 halts_on s
by A6, A8, SCMPDS_6:def 3;
P1 = P1 +* (stop I)
by A3, FUNCT_4:98;
then A10:
P1 halts_on s
by A2, A7, SCMPDS_6:def 3;
A11:
now let l be
Element of
NAT ;
( CurInstr (P2,(Comput (P2,s,l))) = halt SCMPDS implies LifeSpan (P1,s) <= l )assume A12:
CurInstr (
P2,
(Comput (P2,s,l)))
= halt SCMPDS
;
LifeSpan (P1,s) <= l
CurInstr (
P1,
(Comput (P1,s,l)))
= CurInstr (
P2,
(Comput (P2,s,l)))
by A1, A3, A4, Th26;
hence
LifeSpan (
P1,
s)
<= l
by A10, A12, EXTPRO_1:def 15;
verum end;
CurInstr (P2,(Comput (P2,s,(LifeSpan (P1,s))))) =
CurInstr (P1,(Comput (P1,s,(LifeSpan (P1,s)))))
by A1, A3, A4, Th26
.=
halt SCMPDS
by A10, EXTPRO_1:def 15
;
hence
LifeSpan (P1,s) = LifeSpan (P2,s)
by A11, A9, EXTPRO_1:def 15; Result (P1,s) = Result (P2,s)
then A13:
Result (P2,s) = Comput (P2,s,(LifeSpan (P1,s)))
by A9, EXTPRO_1:23;
Result (P1,s) = Comput (P1,s,(LifeSpan (P1,s)))
by A10, EXTPRO_1:23;
hence
Result (P1,s) = Result (P2,s)
by A1, A3, A4, A13, Th26; verum