let s1, s2 be State of ; for I being Program of st I is_closed_on s1 & I is_halting_on s1 & DataPart s1 = DataPart s2 holds
( LifeSpan (s1 +* (I +* (Start-At (insloc 0 )))) = LifeSpan (s2 +* (I +* (Start-At (insloc 0 )))) & Result (s1 +* (I +* (Start-At (insloc 0 )))), Result (s2 +* (I +* (Start-At (insloc 0 )))) equal_outside NAT )
set D = Int-Locations \/ FinSeq-Locations ;
let I be Program of ; ( I is_closed_on s1 & I is_halting_on s1 & DataPart s1 = DataPart s2 implies ( LifeSpan (s1 +* (I +* (Start-At (insloc 0 )))) = LifeSpan (s2 +* (I +* (Start-At (insloc 0 )))) & Result (s1 +* (I +* (Start-At (insloc 0 )))), Result (s2 +* (I +* (Start-At (insloc 0 )))) equal_outside NAT ) )
assume A1:
I is_closed_on s1
; ( not I is_halting_on s1 or not DataPart s1 = DataPart s2 or ( LifeSpan (s1 +* (I +* (Start-At (insloc 0 )))) = LifeSpan (s2 +* (I +* (Start-At (insloc 0 )))) & Result (s1 +* (I +* (Start-At (insloc 0 )))), Result (s2 +* (I +* (Start-At (insloc 0 )))) equal_outside NAT ) )
set ss2 = s2 +* (I +* (Start-At (insloc 0 )));
set ss1 = s1 +* (I +* (Start-At (insloc 0 )));
assume A2:
I is_halting_on s1
; ( not DataPart s1 = DataPart s2 or ( LifeSpan (s1 +* (I +* (Start-At (insloc 0 )))) = LifeSpan (s2 +* (I +* (Start-At (insloc 0 )))) & Result (s1 +* (I +* (Start-At (insloc 0 )))), Result (s2 +* (I +* (Start-At (insloc 0 )))) equal_outside NAT ) )
then A3:
ProgramPart (s1 +* (I +* (Start-At (insloc 0 )))) halts_on s1 +* (I +* (Start-At (insloc 0 )))
by SCMFSA7B:def 8;
then A4:
Result (s1 +* (I +* (Start-At (insloc 0 )))) = Computation (s1 +* (I +* (Start-At (insloc 0 )))),(LifeSpan (s1 +* (I +* (Start-At (insloc 0 )))))
by AMI_1:122;
assume A5:
DataPart s1 = DataPart s2
; ( LifeSpan (s1 +* (I +* (Start-At (insloc 0 )))) = LifeSpan (s2 +* (I +* (Start-At (insloc 0 )))) & Result (s1 +* (I +* (Start-At (insloc 0 )))), Result (s2 +* (I +* (Start-At (insloc 0 )))) equal_outside NAT )
then
I is_halting_on s2
by A1, A2, SCMFSA8B:8;
then A6:
ProgramPart (s2 +* (I +* (Start-At (insloc 0 )))) halts_on s2 +* (I +* (Start-At (insloc 0 )))
by SCMFSA7B:def 8;
CurInstr (Computation (s2 +* (I +* (Start-At (insloc 0 )))),(LifeSpan (s1 +* (I +* (Start-At (insloc 0 )))))) =
CurInstr (Computation (s1 +* (I +* (Start-At (insloc 0 )))),(LifeSpan (s1 +* (I +* (Start-At (insloc 0 ))))))
by A1, A2, A5, Th100
.=
halt SCM+FSA
by A3, AMI_1:def 46
;
hence
LifeSpan (s1 +* (I +* (Start-At (insloc 0 )))) = LifeSpan (s2 +* (I +* (Start-At (insloc 0 ))))
by A7, A6, AMI_1:def 46; Result (s1 +* (I +* (Start-At (insloc 0 )))), Result (s2 +* (I +* (Start-At (insloc 0 )))) equal_outside NAT
then
Result (s2 +* (I +* (Start-At (insloc 0 )))) = Computation (s2 +* (I +* (Start-At (insloc 0 )))),(LifeSpan (s1 +* (I +* (Start-At (insloc 0 )))))
by A6, AMI_1:122;
hence
Result (s1 +* (I +* (Start-At (insloc 0 )))), Result (s2 +* (I +* (Start-At (insloc 0 )))) equal_outside NAT
by A1, A2, A5, A4, Th100; verum