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

theorem
  for s being State of SCM+FSA,
      I being good really-closed Program of SCM+FSA st
  I is_halting_on Initialized s,P
   holds IExec(I,P,s).intloc 0 = 1 & for k being Nat
  holds Comput(P +* I, (Initialize Initialized s),k).intloc 0 = 1
proof
  set a = intloc 0;
  let s be State of SCM+FSA;
  let I be good really-closed Program of SCM+FSA;
  set s0 = Initialized s;
  set s1 = Initialize s0,
      P1 = P +* I;
  defpred P[Nat] means for n being Nat st n <= $1 holds
  Comput(P1, s1,n).intloc 0 = s0.intloc 0;
  assume I is_halting_on s0,P;
  then
A1: P1 halts_on s1;
A2: P[0]
  proof
    let n be Nat;
A3: for i being Nat st i < 0 holds IC Comput(P1, s1,i) in dom I;
    assume n <= 0;
    hence thesis by A3,Th57;
  end;
A4: for k being Nat st P[k] holds P[k + 1]
  proof
    let k be Nat;
    assume P[k];
    let n be Nat;
    assume
A5: n <= k + 1;
A6:  I c= P1 by FUNCT_4:25;
    IC s1 = 0 by MEMSTR_0:def 11;
    then IC s1 in dom I by AFINSQ_1:65;
    then for i being Nat st i < k + 1
       holds IC Comput(P1,s1,i) in dom I by AMISTD_1:21,A6;
    hence thesis by A5,Th57;
  end;
A7: for k being Nat holds P[k] from NAT_1:sch 2(A2,A4);
A8: now
    let k be Nat;
    thus Comput(P1, s1,k).intloc 0 = s0.intloc 0 by A7
      .= 1 by SCMFSA_M:9;
  end;
  thus IExec(I,P,s).a = (Result(P1,s1)).a by MEMSTR_0:44
    .= (Result(P1,s1)).a
    .= Comput(P1, s1,LifeSpan(P1,s1)).a by A1,EXTPRO_1:23
    .= 1 by A8;
  thus thesis by A8;
end;
