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

theorem Th56:
  for s being State of SCM+FSA, I being Program of SCM+FSA, a
being Int-Location st I does not destroy a for m being Nat st
(for n being Nat st n < m
 holds IC Comput(P +* I, (Initialize s),n) in dom I)
 for n being Nat st n <= m holds
  Comput(P +* I, (Initialize s),n).a = s.a
proof
  let s be State of SCM+FSA;
  let I be Program of SCM+FSA;
  let a be Int-Location;
  assume
A1: I does not destroy a;
  set s1 = Initialize s,
      P1 = P +* I;
  let m be Nat;
  defpred P[Nat] means $1 <= m implies Comput(P1, s1,$1).a = s.a;
  assume
A2: for n being Nat st n < m
   holds IC Comput(P +* I, (Initialize s),n) in dom I;
A3: for k being Nat st P[k] holds P[k + 1]
  proof
    let k be Nat;
    assume
A4: P[k];
A5: k + 0 < k + 1 by XREAL_1:6;
    assume
A6: k + 1 <= m;
    then k < m by A5,XXREAL_0:2;
    then IC Comput(P1, s1,k) in dom I by A2;
    hence thesis by A1,A4,A6,A5,Th55,XXREAL_0:2;
  end;
  let n be Nat;
  assume
A7: n <= m;
  Comput(P1, s1,0).a = s1.a
    .= s.a by SCMFSA_M:21;
  then
A8: P[0];
  for k being Nat holds P[k] from NAT_1:sch 2(A8,A3);
  hence thesis by A7;
end;
