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 Th30:
  cc <> 1-stRWNotIn {aa, bb} & cc <> 2-ndRWNotIn {aa, bb} implies
  swap(f, aa, bb) does not destroy cc
proof
  set a = aa, b = bb;
  set aux1 = 1-stRWNotIn {a, b};
  set aux2 = 2-ndRWNotIn {a, b};
  assume cc <> 1-stRWNotIn {aa, bb} & cc <> 2-ndRWNotIn {aa, bb};
  then
A1: aux1 := (f,a) does not destroy cc & aux2 := (f,b) does not destroy cc by
SCMFSA7B:14;
  (f,a) := aux2 does not destroy cc by SCMFSA7B:15;
  then aux1 := (f,a) ";" (aux2 := (f,b)) ";" ((f,a) := aux2) does not destroy
  cc by A1,SCMFSA8C:54,55;
  hence thesis by SCMFSA7B:15,SCMFSA8C:54;
end;
