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 Th26:
  {aa, bb, c} c= UsedILoc FinSeqMin(f, aa, bb, c)
proof
  set a = aa, b = bb;
  set aux1 = 1-stRWNotIn {a, b, c};
  set aux2 = 2-ndRWNotIn {a, b, c};
  set cv = 3-rdRWNotIn {a, b, c};
  set i0 = c := a;
  set i10 = aux1 := (f, cv);
  set i11 = aux2 := (f, c);
  set I12 = if>0(aux2, aux1, Macro (c := cv), Stop SCM+FSA);
  set I1B = i10 ";" i11 ";" I12;
  set I1 = for-up ( cv, a, b, I1B);
A1: UsedILoc (i0 ";" I1) = (UsedIntLoc i0) \/ UsedILoc I1 by SF_MASTR:29;
A2: {cv, a, b} \/ UsedILoc I1B c= UsedILoc I1 by Th20;
  let x be object;
A3: UsedIntLoc i0 = {c,a} by SF_MASTR:14;
  assume
A4: x in {a, b, c};
  per cases by A4,ENUMSET1:def 1;
  suppose
    x = a;
    then x in {c, a} by TARSKI:def 2;
    hence thesis by A1,A3,XBOOLE_0:def 3;
  end;
  suppose
    x = b;
    then x in {cv, a, b} by ENUMSET1:def 1;
    then x in {cv, a, b} \/ UsedILoc I1B by XBOOLE_0:def 3;
    hence thesis by A1,A2,XBOOLE_0:def 3;
  end;
  suppose
    x = c;
    then x in {c, a} by TARSKI:def 2;
    hence thesis by A1,A3,XBOOLE_0:def 3;
  end;
end;
