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

theorem
  for s1,s2 being 0-started State of SCM+FSA,
      I being really-closed Program of SCM+FSA st
I is_halting_on s1,P1 &
  I c= P1 & I c= P2 &
   ex k being Nat st  Comput(P1, s1,k) =  s2
  holds  Result(P1,s1) =  Result(P2,s2)
proof
  let s1,s2 be 0-started State of SCM+FSA;
  set D = Data-Locations SCM+FSA;
  let I be really-closed Program of SCM+FSA;
  assume
A1: I is_halting_on s1,P1;
A2: Start-At(0,SCM+FSA) c= s1 by MEMSTR_0:29;
A3: s2 = Initialize s2 by MEMSTR_0:44;
  assume
 I c= P1;
   then
A4: P1 = P1 +* I by FUNCT_4:98;
  assume
 I c= P2;
   then
A5: P2 = P2 +* I by FUNCT_4:98;
 s1 = Initialize s1 by A2,FUNCT_4:98;
  then
A6: P1 halts_on s1 by A1,A4;
  then consider n being Nat such that
A7: CurInstr(P1,Comput(P1,s1,n)) = halt SCM+FSA;
  given k being Nat such that
A8:  Comput(P1, s1,k) =  s2;
  set s3 = Comput(P1, s1,k),
      P3 = P1;
A9: IC SCM+FSA in dom s3 by MEMSTR_0:2;
  IC s3 = IC s2 by A8
    .= IC Initialize s2 by A3
    .= 0 by FUNCT_4:113;
  then IC SCM+FSA .--> 0 c= s3 by A9,FUNCOP_1:73;
  then Start-At(0,SCM+FSA) c= s3;
  then
A10: s3 = Initialize s3 by FUNCT_4:98;
A11: Comput(P1,s1,n+k)
 = Comput(P1,Comput(P1,s1,k),n) by EXTPRO_1:4;
A12:  Comput(P1,s1,n+k) = Comput(P1,s1,n) by A7,EXTPRO_1:5,NAT_1:11;
  P3 halts_on s3 by A7,A12,A11,EXTPRO_1:29;
  then
A13: I is_halting_on s3,P3 by A10,A4;
A14: DataPart s3 = DataPart s2 by A8;
  consider k being Nat such that
A15: CurInstr(P1,Comput(P1,s1,k))
 = halt SCM+FSA by A6;
A16: P1.IC Comput(P1, s1,k)
     = halt SCM+FSA by A15,PBOOLE:143;
Result(P3,s3) =  Result(P2,s2)
by A3,A14,A10,A13,Th63,A4,A5;
  hence thesis by A16,EXTPRO_1:8;
end;
