let s1, s2 be State of SCM+FSA; :: thesis: for I being InitHalting Program of SCM+FSA st Initialized I c= s1 & Initialized I c= s2 & s1,s2 equal_outside NAT holds
( LifeSpan ((ProgramPart s1),s1) = LifeSpan ((ProgramPart s2),s2) & Result ((ProgramPart s1),s1), Result ((ProgramPart s2),s2) equal_outside NAT )

let I be InitHalting Program of SCM+FSA; :: thesis: ( Initialized I c= s1 & Initialized I c= s2 & s1,s2 equal_outside NAT implies ( LifeSpan ((ProgramPart s1),s1) = LifeSpan ((ProgramPart s2),s2) & Result ((ProgramPart s1),s1), Result ((ProgramPart s2),s2) equal_outside NAT ) )
assume that
A1: Initialized I c= s1 and
A2: Initialized I c= s2 and
A3: s1,s2 equal_outside NAT ; :: thesis: ( LifeSpan ((ProgramPart s1),s1) = LifeSpan ((ProgramPart s2),s2) & Result ((ProgramPart s1),s1), Result ((ProgramPart s2),s2) equal_outside NAT )
A4: ProgramPart s2 halts_on s2 by A2, SCM_HALT:5;
A5: ProgramPart s1 halts_on s1 by A1, SCM_HALT:5;
A6: now
let l be Element of NAT ; :: thesis: ( CurInstr ((ProgramPart s2),(Comput ((ProgramPart s2),s2,l))) = halt SCM+FSA implies LifeSpan ((ProgramPart s1),s1) <= l )
assume A7: CurInstr ((ProgramPart s2),(Comput ((ProgramPart s2),s2,l))) = halt SCM+FSA ; :: thesis: LifeSpan ((ProgramPart s1),s1) <= l
CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,l))) = CurInstr ((ProgramPart s2),(Comput ((ProgramPart s2),s2,l))) by A1, A2, A3, Th11;
hence LifeSpan ((ProgramPart s1),s1) <= l by A5, A7, EXTPRO_1:def 14; :: thesis: verum
end;
CurInstr ((ProgramPart s2),(Comput ((ProgramPart s2),s2,(LifeSpan ((ProgramPart s1),s1))))) = CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,(LifeSpan ((ProgramPart s1),s1))))) by A1, A2, A3, Th11
.= halt SCM+FSA by A5, EXTPRO_1:def 14 ;
hence X: LifeSpan ((ProgramPart s1),s1) = LifeSpan ((ProgramPart s2),s2) by A6, A4, EXTPRO_1:def 14; :: thesis: Result ((ProgramPart s1),s1), Result ((ProgramPart s2),s2) equal_outside NAT
A8: Result ((ProgramPart s2),s2) = Comput ((ProgramPart s2),s2,(LifeSpan ((ProgramPart s1),s1))) by X, A2, EXTPRO_1:23, SCM_HALT:5;
Result ((ProgramPart s1),s1) = Comput ((ProgramPart s1),s1,(LifeSpan ((ProgramPart s1),s1))) by A1, EXTPRO_1:23, SCM_HALT:5;
hence Result ((ProgramPart s1),s1), Result ((ProgramPart s2),s2) equal_outside NAT by A1, A2, A3, A8, Th11; :: thesis: verum