reserve m for Nat;
reserve P,PP,P1,P2 for Instruction-Sequence of SCM+FSA;

theorem Th63:
  for s1,s2 being State of SCM+FSA,
      I being really-closed Program of SCM+FSA
    st I is_halting_on s1,P1 & DataPart s1 = DataPart s2
   holds
  LifeSpan(P1 +* I,Initialize s1) =
  LifeSpan(P2 +* I,Initialize s2) &
   Result(P1 +* I,Initialize s1)
  =  Result(P2 +* I,Initialize s2)
proof
  let s1,s2 be State of SCM+FSA;
  set D = Data-Locations SCM+FSA;
  let I be really-closed Program of SCM+FSA;
  set ss2 = Initialize s2,
      PP2 = P2 +* I;
  set ss1 = Initialize s1,
      PP1 = P1 +* I;
  assume
A1: I is_halting_on s1,P1;
  then
A2: PP1 halts_on ss1;
  then
A3: Result(PP1,ss1) = Comput(PP1, ss1,LifeSpan(
PP1,ss1)) by EXTPRO_1:23;
  assume
A4: DataPart s1 = DataPart s2;
  then I is_halting_on s2,P2 by A1,SCMFSA8B:5;
  then
A5: PP2 halts_on ss2;
A6: now
    let l be Nat;
    assume
A7: CurInstr(PP2,Comput(PP2,ss2,l)) = halt SCM+FSA;
    CurInstr(PP1,Comput(PP1,ss1,l))
     = CurInstr(PP2,Comput(PP2,ss2,l)) by A1,A4,Th62;
    hence LifeSpan(PP1,ss1) <= l by A2,A7,EXTPRO_1:def 15;
  end;
  CurInstr(PP2,
  Comput(PP2,ss2,LifeSpan(PP1,ss1)))
   = CurInstr(PP1,Comput(PP1,ss1,LifeSpan(PP1,ss1))) by A1,A4,Th62
    .= halt SCM+FSA by A2,EXTPRO_1:def 15;
  hence LifeSpan(PP1,ss1) = LifeSpan(PP2,ss2) by A6,A5,EXTPRO_1:def 15;
  then Result(PP2,ss2) = Comput(PP2, ss2,LifeSpan(PP1,ss1)) by A5,EXTPRO_1:23;
  hence thesis by A1,A4,A3,Th62;
end;
