reserve X for TopSpace;
reserve X for non empty TopSpace;
reserve X1, X2, X3 for non empty SubSpace of X;
reserve X1, X2, X3 for non empty SubSpace of X;

theorem
  for Y being non empty SubSpace of X holds X1 meets X2 implies (X1 meet
X2) union Y = (X1 union Y) meet (X2 union Y) & Y union (X1 meet X2) = (Y union
  X1) meet (Y union X2)
proof
  let Y be non empty SubSpace of X;
  assume
A1: X1 meets X2;
  Y is SubSpace of X2 union Y by Th22;
  then
A2: the carrier of Y c= the carrier of X2 union Y by Th4;
  Y is SubSpace of X1 union Y by Th22;
  then the carrier of Y c= the carrier of X1 union Y by Th4;
  then (the carrier of X1 union Y) /\ (the carrier of X2 union Y) <> {} by A2,
XBOOLE_1:3,19;
  then (the carrier of X1 union Y) meets (the carrier of X2 union Y) by
XBOOLE_0:def 7;
  then
A3: (X1 union Y) meets (X2 union Y);
A4: the carrier of (X1 meet X2) union Y = (the carrier of X1 meet X2) \/ (
  the carrier of Y) by Def2
    .= ((the carrier of X1) /\ (the carrier of X2)) \/ (the carrier of Y) by A1
,Def4
    .= ((the carrier of X1) \/ (the carrier of Y)) /\ ((the carrier of X2)
  \/ (the carrier of Y)) by XBOOLE_1:24
    .= (the carrier of X1 union Y) /\ ((the carrier of X2) \/ (the carrier
  of Y)) by Def2
    .= (the carrier of X1 union Y) /\ (the carrier of X2 union Y) by Def2
    .= the carrier of (X1 union Y) meet (X2 union Y) by A3,Def4;
  hence (X1 meet X2) union Y = (X1 union Y) meet (X2 union Y) by Th5;
  thus thesis by A4,Th5;
end;
