let X, Y, Z be set ; :: thesis: X \/ (Y /\ Z) = (X \/ Y) /\ (X \/ Z)

thus X \/ (Y /\ Z) c= (X \/ Y) /\ (X \/ Z) :: according to XBOOLE_0:def 10 :: thesis: (X \/ Y) /\ (X \/ Z) c= X \/ (Y /\ Z)

assume A1: x in (X \/ Y) /\ (X \/ Z) ; :: thesis: x in X \/ (Y /\ Z)

then x in X \/ Z by XBOOLE_0:def 4;

then A2: ( x in X or x in Z ) by XBOOLE_0:def 3;

x in X \/ Y by A1, XBOOLE_0:def 4;

then ( x in X or x in Y ) by XBOOLE_0:def 3;

then ( x in X or x in Y /\ Z ) by A2, XBOOLE_0:def 4;

hence x in X \/ (Y /\ Z) by XBOOLE_0:def 3; :: thesis: verum

thus X \/ (Y /\ Z) c= (X \/ Y) /\ (X \/ Z) :: according to XBOOLE_0:def 10 :: thesis: (X \/ Y) /\ (X \/ Z) c= X \/ (Y /\ Z)

proof

let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in (X \/ Y) /\ (X \/ Z) or x in X \/ (Y /\ Z) )
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in X \/ (Y /\ Z) or x in (X \/ Y) /\ (X \/ Z) )

assume x in X \/ (Y /\ Z) ; :: thesis: x in (X \/ Y) /\ (X \/ Z)

then ( x in X or x in Y /\ Z ) by XBOOLE_0:def 3;

then ( x in X or ( x in Y & x in Z ) ) by XBOOLE_0:def 4;

then ( x in X \/ Y & x in X \/ Z ) by XBOOLE_0:def 3;

hence x in (X \/ Y) /\ (X \/ Z) by XBOOLE_0:def 4; :: thesis: verum

end;assume x in X \/ (Y /\ Z) ; :: thesis: x in (X \/ Y) /\ (X \/ Z)

then ( x in X or x in Y /\ Z ) by XBOOLE_0:def 3;

then ( x in X or ( x in Y & x in Z ) ) by XBOOLE_0:def 4;

then ( x in X \/ Y & x in X \/ Z ) by XBOOLE_0:def 3;

hence x in (X \/ Y) /\ (X \/ Z) by XBOOLE_0:def 4; :: thesis: verum

assume A1: x in (X \/ Y) /\ (X \/ Z) ; :: thesis: x in X \/ (Y /\ Z)

then x in X \/ Z by XBOOLE_0:def 4;

then A2: ( x in X or x in Z ) by XBOOLE_0:def 3;

x in X \/ Y by A1, XBOOLE_0:def 4;

then ( x in X or x in Y ) by XBOOLE_0:def 3;

then ( x in X or x in Y /\ Z ) by A2, XBOOLE_0:def 4;

hence x in X \/ (Y /\ Z) by XBOOLE_0:def 3; :: thesis: verum