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 Th25:
  c <> aa implies FinSeqMin(f, aa, bb, c) does not destroy aa
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 i10 = aux1 := (f, cv);
  set i11 = aux2 := (f, c);
  reconsider I12 = if>0(aux2, aux1, Macro (c := cv), Stop SCM+FSA)
    as really-closed MacroInstruction of SCM+FSA;
  set I1B = i10 ";" i11 ";" I12;
  set I1 = for-up ( cv, a, b, I1B);
A1: Stop SCM+FSA does not destroy a by SCMFSA8C:56;
A2: a in {a, b, c} by ENUMSET1:def 1;
  then aux1 <> a by SCMFSA_M:25;
  then
A3: i10 does not destroy a by SCMFSA7B:14;
A4: aux2 <> a by A2,SCMFSA_M:25;
  then i11 does not destroy a by SCMFSA7B:14;
  then
A5: i10 ";" i11 does not destroy a by A3,SCMFSA8C:55;
  assume
A6: c <> aa;
  then Macro (c := cv) does not destroy a by SCMFSA7B:6,SCMFSA8C:48;
  then I12 does not destroy a by A4,A1,Th7;
  then
A7: I1B does not destroy a by A5,SCMFSA8C:52;
  a in {cv, a, b} by ENUMSET1:def 1;
  then a in {cv, a, b} \/ UsedILoc I1B by XBOOLE_0:def 3;
  then
A8: a <> 1-stRWNotIn ({cv, a, b} \/ UsedILoc I1B) by SCMFSA_M:25;
  cv <> a by A2,SCMFSA_M:25;
  then I1 does not destroy a by A7,A8,Th21;
  hence thesis by A6,SCMFSA7B:6,SCMFSA8C:53;
end;
