reserve A, B for non empty set,
  A1, A2, A3 for non empty Subset of A;
reserve X for TopSpace;
reserve X for non empty TopSpace;
reserve X1, X2 for non empty SubSpace of X;
reserve X0, X1, X2, Y1, Y2 for non empty SubSpace of X;

theorem Th32:
  X1 meets X2 & X1 is not SubSpace of X2 & X2 is not SubSpace of
  X1 & the TopStruct of X = (Y1 union Y2) union X0 & Y1 meet (X1 union X2) is
SubSpace of X1 & Y2 meet (X1 union X2) is SubSpace of X2 & X0 meet (X1 union X2
) is SubSpace of X1 meet X2 implies Y1 meets X1 union X2 & Y2 meets X1 union X2
proof
  assume
A1: X1 meets X2;
  reconsider C = the carrier of X0 as Subset of X by TSEP_1:1;
  reconsider C2 = the carrier of Y2 as Subset of X by TSEP_1:1;
  reconsider C1 = the carrier of Y1 as Subset of X by TSEP_1:1;
  reconsider A2 = the carrier of X2 as Subset of X by TSEP_1:1;
  reconsider A1 = the carrier of X1 as Subset of X by TSEP_1:1;
  assume that
A2: X1 is not SubSpace of X2 and
A3: X2 is not SubSpace of X1;
  assume
A4: the TopStruct of X = (Y1 union Y2) union X0;
  assume that
A5: Y1 meet (X1 union X2) is SubSpace of X1 and
A6: Y2 meet (X1 union X2) is SubSpace of X2;
  assume
A7: X0 meet (X1 union X2) is SubSpace of X1 meet X2;
A8: the carrier of X1 union X2 = A1 \/ A2 by TSEP_1:def 2;
A9: the carrier of Y1 union Y2 = C1 \/ C2 by TSEP_1:def 2;
A10: now
    assume Y2 misses (X1 union X2);
    then
A11: C2 misses (A1 \/ A2) by A8,TSEP_1:def 3;
    the carrier of X = (C1 \/ C2) \/ C by A4,A9,TSEP_1:def 2;
    then
A12: A1 \/ A2 = ((C2 \/ C1) \/ C) /\ (A1 \/ A2) by XBOOLE_1:28
      .= (C2 \/ (C1 \/ C)) /\ (A1 \/ A2) by XBOOLE_1:4
      .= (C2 /\ (A1 \/ A2)) \/ ((C1 \/ C) /\ (A1 \/ A2)) by XBOOLE_1:23
      .= (C1 /\ (A1 \/ A2)) \/ (C /\ (A1 \/ A2)) by XBOOLE_1:23,A11;
A13: now
      assume C1 /\ (A1 \/ A2) <> {};
      then C1 meets (A1 \/ A2);
      then Y1 meets (X1 union X2) by A8,TSEP_1:def 3;
      then
A14:  the carrier of Y1 meet (X1 union X2) = C1 /\ (A1 \/ A2) by A8,
TSEP_1:def 4;
      then
A15:  C1 /\ (A1 \/ A2) c= A1 by A5,TSEP_1:4;
      now
        per cases;
        suppose
          C /\ (A1 \/ A2) = {};
          hence A1 \/ A2 c= A1 by A5,A12,A14,TSEP_1:4;
        end;
        suppose
          C /\ (A1 \/ A2) <> {};
          then C meets (A1 \/ A2);
          then X0 meets (X1 union X2) by A8,TSEP_1:def 3;
          then
A16:      the carrier of X0 meet (X1 union X2) = C /\ (A1 \/ A2) by A8,
TSEP_1:def 4;
          the carrier of X1 meet X2 = A1 /\ A2 by A1,TSEP_1:def 4;
          then C /\ (A1 \/ A2) c= A1 /\ A2 by A7,A16,TSEP_1:4;
          then A1 \/ A2 c= A1 \/ A1 /\ A2 by A12,A15,XBOOLE_1:13;
          hence A1 \/ A2 c= A1 by XBOOLE_1:12,17;
        end;
      end;
      hence A1 \/ A2 c= A1;
    end;
A17: now
      assume C /\ (A1 \/ A2) <> {};
      then C meets (A1 \/ A2);
      then X0 meets (X1 union X2) by A8,TSEP_1:def 3;
      then
A18:  the carrier of X0 meet (X1 union X2) = C /\ (A1 \/ A2) by A8,TSEP_1:def 4
;
      the carrier of X1 meet X2 = A1 /\ A2 by A1,TSEP_1:def 4;
      then
A19:  C /\ (A1 \/ A2) c= A1 /\ A2 by A7,A18,TSEP_1:4;
A20:  A1 /\ A2 c= A1 by XBOOLE_1:17;
      then
A21:  C /\ (A1 \/ A2) c= A1 by A19,XBOOLE_1:1;
      now
        per cases;
        suppose
          C1 /\ (A1 \/ A2) = {};
          hence A1 \/ A2 c= A1 by A12,A19,A20,XBOOLE_1:1;
        end;
        suppose
          C1 /\ (A1 \/ A2) <> {};
          then C1 meets (A1 \/ A2);
          then Y1 meets (X1 union X2) by A8,TSEP_1:def 3;
          then the carrier of Y1 meet (X1 union X2) = C1 /\ (A1 \/ A2) by A8,
TSEP_1:def 4;
          then C1 /\ (A1 \/ A2) c= A1 by A5,TSEP_1:4;
          hence A1 \/ A2 c= A1 by A12,A21,XBOOLE_1:8;
        end;
      end;
      hence A1 \/ A2 c= A1;
    end;
    A2 c= A1 \/ A2 by XBOOLE_1:7;
    then A2 c= A1 by A12,A13,A17,XBOOLE_1:1;
    hence contradiction by A3,TSEP_1:4;
  end;
  now
    assume Y1 misses (X1 union X2);
    then
A22: C1 misses (A1 \/ A2) by A8,TSEP_1:def 3;
    the carrier of X = (C1 \/ C2) \/ C by A4,A9,TSEP_1:def 2;
    then
A23: A1 \/ A2 = ((C1 \/ C2) \/ C) /\ (A1 \/ A2) by XBOOLE_1:28
      .= (C1 \/ (C2 \/ C)) /\ (A1 \/ A2) by XBOOLE_1:4
      .= (C1 /\ (A1 \/ A2)) \/ ((C2 \/ C) /\ (A1 \/ A2)) by XBOOLE_1:23
      .= (C2 /\ (A1 \/ A2)) \/ (C /\ (A1 \/ A2)) by XBOOLE_1:23,A22;
A24: now
      assume C2 /\ (A1 \/ A2) <> {};
      then C2 meets (A1 \/ A2);
      then Y2 meets (X1 union X2) by A8,TSEP_1:def 3;
      then
A25:  the carrier of Y2 meet (X1 union X2) = C2 /\ (A1 \/ A2) by A8,
TSEP_1:def 4;
      then
A26:  C2 /\ (A1 \/ A2) c= A2 by A6,TSEP_1:4;
      now
        per cases;
        suppose
          C /\ (A1 \/ A2) = {};
          hence A1 \/ A2 c= A2 by A6,A23,A25,TSEP_1:4;
        end;
        suppose
          C /\ (A1 \/ A2) <> {};
          then C meets (A1 \/ A2);
          then X0 meets (X1 union X2) by A8,TSEP_1:def 3;
          then
A27:      the carrier of X0 meet (X1 union X2) = C /\ (A1 \/ A2) by A8,
TSEP_1:def 4;
          the carrier of X1 meet X2 = A1 /\ A2 by A1,TSEP_1:def 4;
          then C /\ (A1 \/ A2) c= A1 /\ A2 by A7,A27,TSEP_1:4;
          then A1 \/ A2 c= A2 \/ A1 /\ A2 by A23,A26,XBOOLE_1:13;
          hence A1 \/ A2 c= A2 by XBOOLE_1:12,17;
        end;
      end;
      hence A1 \/ A2 c= A2;
    end;
A28: now
      assume C /\ (A1 \/ A2) <> {};
      then C meets (A1 \/ A2);
      then X0 meets (X1 union X2) by A8,TSEP_1:def 3;
      then
A29:  the carrier of X0 meet (X1 union X2) = C /\ (A1 \/ A2) by A8,TSEP_1:def 4
;
      the carrier of X1 meet X2 = A1 /\ A2 by A1,TSEP_1:def 4;
      then
A30:  C /\ (A1 \/ A2) c= A1 /\ A2 by A7,A29,TSEP_1:4;
A31:  A1 /\ A2 c= A2 by XBOOLE_1:17;
      then
A32:  C /\ (A1 \/ A2) c= A2 by A30,XBOOLE_1:1;
      now
        per cases;
        suppose
          C2 /\ (A1 \/ A2) = {};
          hence A1 \/ A2 c= A2 by A23,A30,A31,XBOOLE_1:1;
        end;
        suppose
          C2 /\ (A1 \/ A2) <> {};
          then C2 meets (A1 \/ A2);
          then Y2 meets (X1 union X2) by A8,TSEP_1:def 3;
          then the carrier of Y2 meet (X1 union X2) = C2 /\ (A1 \/ A2) by A8,
TSEP_1:def 4;
          then C2 /\ (A1 \/ A2) c= A2 by A6,TSEP_1:4;
          hence A1 \/ A2 c= A2 by A23,A32,XBOOLE_1:8;
        end;
      end;
      hence A1 \/ A2 c= A2;
    end;
    A1 c= A1 \/ A2 by XBOOLE_1:7;
    then A1 c= A2 by A23,A24,A28,XBOOLE_1:1;
    hence contradiction by A2,TSEP_1:4;
  end;
  hence thesis by A10;
end;
