let P1, P2 be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; for s1, s2 being State of SCM+FSA
for I being Program of SCM+FSA st I is_closed_on s1,P1 & I is_halting_on s1,P1 & DataPart s1 = DataPart s2 holds
( LifeSpan ((P1 +* I),(Initialize s1)) = LifeSpan ((P2 +* I),(Initialize s2)) & NPP (Result ((P1 +* I),(Initialize s1))) = NPP (Result ((P2 +* I),(Initialize s2))) )
let s1, s2 be State of SCM+FSA; for I being Program of SCM+FSA st I is_closed_on s1,P1 & I is_halting_on s1,P1 & DataPart s1 = DataPart s2 holds
( LifeSpan ((P1 +* I),(Initialize s1)) = LifeSpan ((P2 +* I),(Initialize s2)) & NPP (Result ((P1 +* I),(Initialize s1))) = NPP (Result ((P2 +* I),(Initialize s2))) )
set D = Data-Locations SCM+FSA;
let I be Program of SCM+FSA; ( I is_closed_on s1,P1 & I is_halting_on s1,P1 & DataPart s1 = DataPart s2 implies ( LifeSpan ((P1 +* I),(Initialize s1)) = LifeSpan ((P2 +* I),(Initialize s2)) & NPP (Result ((P1 +* I),(Initialize s1))) = NPP (Result ((P2 +* I),(Initialize s2))) ) )
assume A1:
I is_closed_on s1,P1
; ( not I is_halting_on s1,P1 or not DataPart s1 = DataPart s2 or ( LifeSpan ((P1 +* I),(Initialize s1)) = LifeSpan ((P2 +* I),(Initialize s2)) & NPP (Result ((P1 +* I),(Initialize s1))) = NPP (Result ((P2 +* I),(Initialize s2))) ) )
set ss2 = Initialize s2;
set PP2 = P2 +* I;
set ss1 = Initialize s1;
set PP1 = P1 +* I;
assume A3:
I is_halting_on s1,P1
; ( not DataPart s1 = DataPart s2 or ( LifeSpan ((P1 +* I),(Initialize s1)) = LifeSpan ((P2 +* I),(Initialize s2)) & NPP (Result ((P1 +* I),(Initialize s1))) = NPP (Result ((P2 +* I),(Initialize s2))) ) )
then A4:
P1 +* I halts_on Initialize s1
by SCMFSA7B:def 8;
then A5:
Result ((P1 +* I),(Initialize s1)) = Comput ((P1 +* I),(Initialize s1),(LifeSpan ((P1 +* I),(Initialize s1))))
by EXTPRO_1:23;
assume A6:
DataPart s1 = DataPart s2
; ( LifeSpan ((P1 +* I),(Initialize s1)) = LifeSpan ((P2 +* I),(Initialize s2)) & NPP (Result ((P1 +* I),(Initialize s1))) = NPP (Result ((P2 +* I),(Initialize s2))) )
then
I is_halting_on s2,P2
by A1, A3, SCMFSA8B:8;
then A7:
P2 +* I halts_on Initialize s2
by SCMFSA7B:def 8;
A8:
now let l be
Element of
NAT ;
( CurInstr ((P2 +* I),(Comput ((P2 +* I),(Initialize s2),l))) = halt SCM+FSA implies LifeSpan ((P1 +* I),(Initialize s1)) <= l )assume A9:
CurInstr (
(P2 +* I),
(Comput ((P2 +* I),(Initialize s2),l)))
= halt SCM+FSA
;
LifeSpan ((P1 +* I),(Initialize s1)) <= l
CurInstr (
(P1 +* I),
(Comput ((P1 +* I),(Initialize s1),l)))
= CurInstr (
(P2 +* I),
(Comput ((P2 +* I),(Initialize s2),l)))
by A1, A3, A6, Th100;
hence
LifeSpan (
(P1 +* I),
(Initialize s1))
<= l
by A4, A9, EXTPRO_1:def 14;
verum end;
CurInstr ((P2 +* I),(Comput ((P2 +* I),(Initialize s2),(LifeSpan ((P1 +* I),(Initialize s1)))))) =
CurInstr ((P1 +* I),(Comput ((P1 +* I),(Initialize s1),(LifeSpan ((P1 +* I),(Initialize s1))))))
by A1, A3, A6, Th100
.=
halt SCM+FSA
by A4, EXTPRO_1:def 14
;
hence
LifeSpan ((P1 +* I),(Initialize s1)) = LifeSpan ((P2 +* I),(Initialize s2))
by A8, A7, EXTPRO_1:def 14; NPP (Result ((P1 +* I),(Initialize s1))) = NPP (Result ((P2 +* I),(Initialize s2)))
then
Result ((P2 +* I),(Initialize s2)) = Comput ((P2 +* I),(Initialize s2),(LifeSpan ((P1 +* I),(Initialize s1))))
by A7, EXTPRO_1:23;
hence
NPP (Result ((P1 +* I),(Initialize s1))) = NPP (Result ((P2 +* I),(Initialize s2)))
by A1, A3, A6, A5, Th100; verum