reserve X for TopSpace;
reserve C for Subset of X;
reserve A, B for Subset of X;
reserve X for non empty TopSpace;
reserve Y for extremally_disconnected non empty TopSpace;
reserve X for non empty TopSpace;

theorem Th49:
  X is extremally_disconnected iff Domains_Lattice X is M_Lattice
proof
  thus X is extremally_disconnected implies Domains_Lattice X is M_Lattice
  proof
    assume X is extremally_disconnected;
    then Domains_Lattice X = Open_Domains_Lattice X by Th44;
    hence thesis;
  end;
  assume
A1: Domains_Lattice X is M_Lattice;
  assume not X is extremally_disconnected;
  then consider D being Subset of X such that
A2: D is condensed and
A3: Int Cl D <> Cl Int D by Th34;
  set A = Int Cl D, C = Cl Int D, B = C`;
A4: D c= C by A2,TOPS_1:def 6;
  A c= D by A2,TOPS_1:def 6;
  then
A5: A c= C by A4;
A6: A is open_condensed by TDLAT_1:23;
  then
A7: A = Int Cl A by TOPS_1:def 8;
  B misses C by XBOOLE_1:79;
  then
A8: B /\ C = {}X;
A9: C is closed_condensed by TDLAT_1:22;
  then
A10: C = Cl Int C by TOPS_1:def 7;
  C is condensed by A9,TOPS_1:66;
  then
A11: C in {E where E is Subset of X : E is condensed};
  reconsider c = C as Element of Domains_Lattice X by A11;
  A is condensed by A6,TOPS_1:67;
  then
 A in {E where E is Subset of X : E is condensed};
  then reconsider a = A as Element of Domains_Lattice X;
A15: B = Int (Int D)` by Th3
    .= Int Cl D` by Th2;
  B` is closed_condensed by TDLAT_1:22;
  then B is open_condensed by TOPS_1:61;
  then B is condensed by TOPS_1:67;
  then B in {E where E is Subset of X : E is condensed};
  then reconsider b = B as Element of Domains_Lattice X;
A16: A \/ {}X = A;
  Cl(A \/ B) = Cl A \/ Cl B by PRE_TOPC:20
    .= Cl Int(Cl D \/ Cl D`) by A15,TDLAT_1:6
    .= Cl Int Cl(D \/ D`) by PRE_TOPC:20
    .= Cl Int Cl [#]X by PRE_TOPC:2
    .= Cl Int [#]X by TOPS_1:2
    .= Cl [#]X by TOPS_1:15
    .= [#]X by TOPS_1:2;
  then a "\/" b = Int([#]X) \/ (A \/ B) by TDLAT_2:87
    .= [#]X \/ (A \/ B) by TOPS_1:15
    .= [#]X by XBOOLE_1:12;
  then
A17: (a "\/" b) "/\" c = Cl(Int([#]X /\ C)) /\ ([#]X /\ C) by TDLAT_2:87
    .= Cl(Int C) /\ ([#]X /\ C) by XBOOLE_1:28
    .= Cl(Int C) /\ C by XBOOLE_1:28
    .= C by A10;
A18: a [= c by A5,TDLAT_2:89;
  b "/\" c = Cl(Int(B /\ C)) /\ (B /\ C) by TDLAT_2:87
    .= {}X by A8;
  then a "\/" (b "/\" c) = Int(Cl A) \/ A by A16,TDLAT_2:87
    .= A by A7;
  hence contradiction by A1,A3,A18,A17,LATTICES:def 12;
end;
