reserve s for State of SCM+FSA,
  a, c for read-write Int-Location,
  aa, bb, cc,
  dd, x for Int-Location,
  f for FinSeq-Location,
  I, J for MacroInstruction of SCM+FSA,
  Ig for good MacroInstruction of SCM+FSA,
  i, k for Nat,
  p for Instruction-Sequence of SCM+FSA;
reserve I for MacroInstruction of SCM+FSA;

theorem Th24:
 for Ig being good really-closed MacroInstruction of SCM+FSA holds
  s.intloc 0 = 1 & (ProperForUpBody a,bb,cc,Ig,s,p or Ig is
  parahalting) implies for-up(a, bb, cc, Ig) is_halting_on s,p
proof let Ig be good really-closed MacroInstruction of SCM+FSA;
  set I = Ig;
  assume that
A1: s.intloc 0 = 1 and
A2: ProperForUpBody a,bb,cc,I,s,p or I is parahalting;
  set i3 = a := bb;
  set aux = 1-stRWNotIn ({a, bb, cc} \/ UsedILoc I);
  set i0 = aux := cc;
  set i1 = SubFrom(aux, bb);
  set i2 = AddTo(aux, intloc 0);
  set IB = I ";" AddTo(a, intloc 0) ";" SubFrom(aux, intloc 0);
  set I4 = while>0( aux, IB);
  set I03 = i0 ";" i1 ";" i2 ";" i3;
  set s1 = IExec(I03,p,s),
      p1 = p;
A3: ProperBodyWhile>0 aux,IB,s1,p1 &
    WithVariantWhile>0 aux,IB,s1,p1 by A1,A2,Lm1;
  reconsider I03 as parahalting Program of SCM+FSA;
  set MI = for-up(a, bb, cc, I);
A4: I03 is_halting_on Initialized s,p by SCMFSA7B:19;
  I4 is_halting_on s1,p1 by A3,SCMFSA9A:27;
  then MI is_halting_on Initialized s,p by A4,SFMASTR1:3;
  hence thesis by A1,SCMFSA8B:42;
end;
