reserve p,p1,p2,h for Instruction-Sequence of SCM+FSA;
reserve k, l, n for Nat,
  j for Integer,
  i,i1 for Instruction of SCM+FSA;
reserve s, s1, s2 for State of SCM+FSA,
  a for read-write Int-Location,
  b for Int-Location,
  I, J for MacroInstruction of SCM+FSA,
  Ig for good MacroInstruction of SCM+FSA,
  i, j, k, m, n for Nat;

theorem :: ewhileUsed:
  UsedILoc while=0(b, I) = {b} \/ UsedILoc I
proof
  set J = Stop SCM+FSA;
  set a = b;
  set IG = I ';' goto  0;
A1: UsedILoc(I ';' goto  0) = UsedILoc I by SF_MASTR:66;
  thus UsedILoc while=0(a, I) = (UsedILoc if=0(a, IG)) by Lm3
    .= UsedILoc (a =0_goto 3 ";"
         Goto  (card IG + 1) ";" (I ';' goto  0)) \/ {} by Th3,SF_MASTR:27
    .= UsedILoc (a =0_goto 3 ";"
         Goto  (card IG + 1)) \/ UsedILoc I by A1,SF_MASTR:27
    .= UsedIntLoc (a =0_goto 3) \/
        UsedILoc Goto  (card IG + 1) \/ UsedILoc I by SF_MASTR:29
    .= UsedIntLoc (a =0_goto 3) \/ {} \/ UsedILoc I by Th5
    .= {a} \/ UsedILoc I by SF_MASTR:16;
end;
