reserve m,n for Nat,
  I for Program of SCM+FSA,
  s,s1,s2 for State of SCM+FSA,
  a for Int-Location,
  f for FinSeq-Location,
  p,p1,p2 for Instruction-Sequence of SCM+FSA;
reserve P,P1,P2,Q for Instruction-Sequence of SCM+FSA;

theorem
  for s be State of SCM+FSA,
      I be good InitHalting really-closed MacroInstruction of SCM+FSA,
      f be FinSeq-Location,a be read-write Int-Location
     st I does not destroy a & s.a > 0
 holds IExec(Times(a,I),p,s).f
   =IExec(Times(a,I),p,IExec(I ";" SubFrom(a,intloc 0),p,s)).f
proof
  set D= Data-Locations SCM+FSA;
  let s be State of SCM+FSA,
      I be good InitHalting really-closed MacroInstruction of SCM+FSA, f be
  FinSeq-Location,a be read-write Int-Location;
  assume
A1: I does not destroy a & s.a > 0;
  set IT=IExec(Times(a,I),p,IExec(I ";" SubFrom(a,intloc 0),p,s));
  f in FinSeq-Locations by SCMFSA_2:def 5;
  then
A2: f in D by SCMFSA_2:100,XBOOLE_0:def 3;
  hence IExec(Times(a,I),p,s).f=(DataPart IExec(Times(a,I),p,s)).f
   by FUNCT_1:49

    .=(DataPart IT).f by A1,Th48
    .= IT.f by A2,FUNCT_1:49;
end;
