reserve m, n for Nat,
  x for set,
  i for Instruction of SCM+FSA,
  I for Program of SCM+FSA,
  a for Int-Location,
  f for FinSeq-Location,
  l, l1 for Nat,
  s,s1,s2 for State of SCM+FSA,
  P,P1,P2 for Instruction-Sequence of SCM+FSA;

theorem Th10:
  for s being 0-started State of SCM+FSA
  for I being really-closed Program of SCM+FSA, J being Program of SCM+FSA
  for P being Instruction-Sequence of SCM+FSA
   st I c= P & P halts_on s
 for m st m <= LifeSpan(P,s)
  holds  Comput(P,s,m) =  Comput(P+*(I ";" J),s,m)
proof
  let s be 0-started State of SCM+FSA;
  let I be really-closed Program of SCM+FSA, J be Program of SCM+FSA;
  let P be Instruction-Sequence of SCM+FSA such that
A1: I c= P;
  assume that
A2: P halts_on s;
  defpred X[Nat] means $1 <= LifeSpan(P,s) implies
    Comput(P,s,$1) =  Comput(P+*(I ";" J),s,$1);
A3: for m st X[m] holds X[m+1]
  proof
    let m;
    assume
A4: m <= LifeSpan(P,s) implies
  Comput(P,s,m) =  Comput(P+*(I ";" J),s,m);
A5:  dom(I ";" J) = dom I \/ dom Reloc(J, card I) by SCMFSA6A:39;
A6: {} c= Comput(P+*(I ";" J),s,m) &
     dom I c= dom(I ";" J) by A5,XBOOLE_1:2,7;
A7: Comput(P,s,m+1) = Following(P,Comput(P,s,m)) by EXTPRO_1:3;
A8: Comput(P+*(I ";" J),s,m+1)
       = Following(P+*(I ";" J),Comput(P+*(I ";" J),s,m)) by EXTPRO_1:3;
    IC s = 0 by MEMSTR_0:def 11;
    then IC s in dom I by AFINSQ_1:65;
    then
A9: IC Comput(P,s,m) in dom I by A1,AMISTD_1:21;
    dom P = NAT by PARTFUN1:def 2;
    then
A10: CurInstr(P,Comput(P,s,m))
     = P.IC( Comput(P,s,m)) by PARTFUN1:def 6
    .= I.IC( Comput(P,s,m)) by A9,A1,GRFUNC_1:2;
    assume
A11: m+1 <= LifeSpan(P,s);
A12: I ";" J c= P+*(I ";" J) by FUNCT_4:25;
A13: dom(P+*(I ";" J)) = NAT by PARTFUN1:def 2;
    m < LifeSpan(P,s) by A11,NAT_1:13;
    then
  I.IC( Comput(P,s,m)) <> halt SCM+FSA by A2,A10,EXTPRO_1:def 15;
    then
  CurInstr(P,Comput(P,s,m))
     = (I ";" J).IC( Comput(P,s,m)) by A9,A10,SCMFSA6A:15
    .= (P+*(I ";" J)).IC( Comput(P,s,m)) by A9,A6,A12,GRFUNC_1:2
    .= CurInstr(P+*(I ";" J),Comput(P+*(I ";" J),s,m))
       by A13,A11,A4,NAT_1:13,PARTFUN1:def 6;
    hence  Comput(P,s,m+1) =  Comput(P+*(I ";" J),s,m+1)
        by A7,A8,A4,A11,NAT_1:13;
  end;
A14: X[0];
  thus for m holds X[m] from NAT_1:sch 2(A14,A3);
end;
