reserve A, B for non empty preBoolean set,
  x, y for Element of [:A,B:];
reserve X for set,
  a,b,c for Element of [:A,B:];
reserve a for Element of [:Fin X, Fin X:];
reserve A for set;
reserve x,y for Element of [:Fin X, Fin X:],
  a,b for Element of DISJOINT_PAIRS X;
reserve A for set,
  x for Element of [:Fin A, Fin A:],
  a,b,c,d,s,t for Element of DISJOINT_PAIRS A,
  B,C,D for Element of Fin DISJOINT_PAIRS A;
reserve K,L,M for Element of Normal_forms_on A;

theorem Th48:
  B^C = C^B
proof
  deffunc F(Element of DISJOINT_PAIRS A,Element of DISJOINT_PAIRS A) = $1 \/
  $2;
  defpred P[set,set] means $1 in B & $2 in C;
  defpred Q[set,set] means $2 in C & $1 in B;
  set X1 = { F(s,t) where s,t is Element of DISJOINT_PAIRS A: P[s,t] };
  set X2 = { F(t,s) where s,t is Element of DISJOINT_PAIRS A: Q[s,t] };
A1: F(s,t) = F(t,s);
A2: now
    let x be object;
    x in X2 iff ex s,t st x = t \/ s & t in C & s in B;
    then x in X2 iff ex t,s st x = t \/ s & t in C & s in B;
    hence x in X2 iff x in{ t \/ s where t,s: t in C & s in B };
  end;
A3: P[s,t] iff Q[s,t];
  X1 = X2 from FRAENKEL:sch 8(A3,A1);
  hence thesis by A2,TARSKI:2;
end;
