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:];

theorem Th5:
  a /\ (b \/ c) = a /\ b \/ a /\ c
proof
A1: (a /\ (b \/ c))`2 = a`2 /\ (b \/ c)`2
    .= a`2 /\ (b`2 \/ c`2)
    .= a`2 /\ b`2 \/ a`2 /\ c`2 by XBOOLE_1:23
    .= a`2 /\ b`2 \/ (a /\ c)`2
    .= (a /\ b)`2 \/ (a /\ c)`2
    .= (a /\ b \/ a /\ c)`2;
  (a /\ (b \/ c))`1 = a`1 /\ (b \/ c)`1
    .= a`1 /\ (b`1 \/ c`1)
    .= a`1 /\ b`1 \/ a`1 /\ c`1 by XBOOLE_1:23
    .= a`1 /\ b`1 \/ (a /\ c)`1
    .= (a /\ b)`1 \/ (a /\ c)`1
    .= (a /\ b \/ a /\ c)`1;
  hence thesis by A1,DOMAIN_1:2;
end;
