reserve X1,X2,X3,X4 for set;

theorem Thm02:
  (X1 \ X2) \ (X3 \ X4) = (X1 \ (X2 \/ X3)) \/ ((X1 /\ X4) \ X2)
  proof
    hereby
      let t be object;
      assume t in (X1 \ X2) \ (X3 \ X4);
      then t in X1 \ X2 & not t in X3 \ X4 by XBOOLE_0:def 5;
      then t in X1 & not t in X2 & (not t in X3 or t in X4) by XBOOLE_0:def 5;
      then (t in X1 & not (t in X2 or t in X3)) or
      t in X1/\X4 & not t in X2 by XBOOLE_0:def 4;
      then (t in X1 & not t in X2\/X3) or
      t in ((X1/\X4)\X2) by XBOOLE_0:def 3,def 5;
      then t in X1 \ (X2 \/ X3) or t in ((X1 /\ X4) \ X2) by XBOOLE_0:def 5;
      hence t in (X1 \ (X2 \/ X3)) \/ ((X1 /\ X4) \ X2) by XBOOLE_0:def 3;
    end;
    let t be object;
    assume t in (X1 \ (X2 \/ X3)) \/ ((X1 /\ X4) \ X2);
    then t in X1 \ (X2 \/ X3) or t in (X1 /\ X4) \ X2 by XBOOLE_0:def 3;
    then (t in X1 & not t in X2 \/ X3) or
    (t in (X1 /\ X4) & not t in X2) by XBOOLE_0:def 5;
    then (t in X1 & not t in X2 & not t in X3) or
    (t in X1 & t in X4 & not t in X2) by XBOOLE_0:def 3,def 4;
    then t in X1\X2 & not t in X3\X4 by XBOOLE_0:def 5;
    hence t in (X1 \ X2) \ (X3 \ X4) by XBOOLE_0:def 5;
  end;
