reserve m for Nat;
reserve P for Instruction-Sequence of SCM+FSA;

theorem
  for I being really-closed Program of SCM+FSA,
      J being Program of SCM+FSA, s being State of SCM+FSA st
  I is_halting_on Initialized s,P
holds IExec(I ";" Goto(card J + 1) ";" J ";" Stop SCM+FSA,P,s)
 = IExec(I,P,s) +* Start-At(card I + card J + 1,SCM+FSA)
proof
  let I be really-closed Program of SCM+FSA;
  let J be Program of SCM+FSA;
  let s be State of SCM+FSA;
  set s1 = Initialized s;
  set P2 = P +* (I ";" Goto  (card J + 1) ";" J ";" Stop SCM+FSA);
  assume that
A1: I is_halting_on Initialized s,P;
  s1 = Initialize Initialized s by MEMSTR_0:44;
  then
A2: P+*I halts_on s1 by A1,SCMFSA7B:def 7;
  P2 halts_on s1 & LifeSpan(P2,s1) = LifeSpan(P+*I,s1) + 2 by A1,Lm6;
  then
A3: Result(P2,s1) = Comput(P2, s1,LifeSpan(
P+*I,s1) + 2) by EXTPRO_1:23;
  then DataPart Result(P2,s1) = DataPart Comput(P+*I,s1,LifeSpan(P+*I,s1))
       by A1,Lm6;
  then
A4: DataPart Result(P2,s1) = DataPart Result(P+*I,s1)
by A2,EXTPRO_1:23
    .= DataPart(Result(P+*I,s1) +* Start-At((card I+card J +1),SCM+FSA))
     by MEMSTR_0:79;
  IC Result(P2,s1) =  (card I + card J + 1) by A1,A3,Lm6
    .= IC (Result(P+*I,s1) +* Start-At((card I+card J +1),SCM+FSA))
     by FUNCT_4:113;
  then
A5:  Result(P2,s1) = (Result(P+*I,s1) +* Start-At((card I+card J +1),SCM+FSA))
 by A4,MEMSTR_0:78;
A6: Result(P2,s1) = Result(P+*I,s1) +*
Start-At((card I + card J + 1
  ),SCM+FSA) by A5;
  thus IExec(I ";" Goto  (card J + 1) ";" J ";" Stop SCM+FSA,P,s)
   = Result(P2,s1) by SCMFSA6B:def 1
    .= Result(P+*I,s1) +* (Start-At((card I+card J +1),SCM+FSA))
     by A6
    .= Result(P+*I,s1) +* (Start-At((card I+card J +1),SCM+FSA))
    .= Result(P+*I,s1) +* Start-At((card I+card J +1),SCM+FSA)
    .= IExec(I,P,s) +* Start-At((card I+card J +1),SCM+FSA)
     by SCMFSA6B:def 1;
end;
