reserve T, T1 for non empty TopSpace;
reserve F,G,H for Subset-Family of T,
  A,B,C,D for Subset of T,
  O,U for open Subset of T,
  p,q for Point of T,
  x,y,X for set;
reserve Un for FamilySequence of T,
  r,r1,r2 for Real,
  n for Element of NAT;

theorem Th18:
  (for A,U st A is closed & U is open & A c=U ex W being sequence of
  bool(the carrier of T) st A c= Union W & Union W c= U & (for n holds Cl
  (W.n) c= U & W.n is open )) implies T is normal
proof
  assume
A1: for A,U st A is closed & U is open & A c=U ex W being sequence of
  bool(the carrier of T) st A c= Union W & Union W c= U & for n holds Cl (W.
  n) c= U & W.n is open;
  for A, B being Subset of T st A <> {} & B <> {} & A is closed & B is
  closed & A misses B ex UA,WB being Subset of T st UA is open & WB is open & A
  c=UA & B c= WB & UA misses WB
  proof
    let A,B be Subset of T;
    assume that
    A <> {} and
    B <> {} and
A2: A is closed & B is closed and
A3: A misses B;
    set W=[#]T\B;
    A c=B` by A3,SUBSET_1:23;
    then consider Wn being sequence of  bool(the carrier of T) such that
A4: A c= Union Wn and
    Union Wn c= W and
A5: for n holds Cl (Wn.n) c= W & (Wn.n) is open by A1,A2;
    set U= [#]T\A;
    B c= A` by A3,SUBSET_1:23;
    then consider Un being sequence of  bool(the carrier of T) such that
A6: B c= Union Un and
    Union Un c= U and
A7: for n holds Cl (Un.n) c= U & (Un.n) is open by A1,A2;
    deffunc UW(Nat) =Un.$1\union{Cl (Wn.k) where k is Element of
    NAT: k in Seg $1\/{0}};
    defpred E2[Element of NAT,set] means $2 = UW($1);
A8: for k being Element of NAT ex y being Subset of T st E2[k,y];
    consider FUW being sequence of  bool the carrier of T such that
A9: for k being Element of NAT holds E2[k,FUW.k] from FUNCT_2:sch 3(
    A8);
    for n holds FUW.n is open
    proof
      let n;
      set CLn={Cl (Wn.k) where k is Element of NAT: k in Seg n\/{0}};
      now
        let C be object;
       assume C in CLn;
        then ex k being Element of NAT st C=Cl (Wn.k) & k in Seg n\/{ 0};
        hence C in bool the carrier of T;
      end;
      then reconsider CLn as Subset-Family of T by TARSKI:def 3;
      deffunc CL(Element of NAT)=Cl(Wn.$1);
A10:  Seg n\/{0} is finite;
A11:  {CL(k) where k is Element of NAT: k in Seg n\/{0}} is finite from
      FRAENKEL:sch 21(A10);
      now
        let A;
        assume A in CLn;
        then ex k being Element of NAT st A=Cl(Wn.k) & k in Seg n\/{0 };
        hence A is closed;
      end;
      then
A12:  CLn is closed by TOPS_2:def 2;
      Un.n is open by A7;
      then Un.n\union CLn is open by A11,A12,Lm6,TOPS_2:21;
      hence thesis by A9;
    end;
    then
A13: Union FUW is open by Th17;
A14: for n holds B misses Cl (Wn.n)
    proof
      let n;
      Cl (Wn.n) c= W by A5;
      hence thesis by XBOOLE_1:63,79;
    end;
    now
      let b be object;
      assume that
A15:  b in B and
A16:  not b in Union FUW;
      consider k being Nat such that
A17:  b in Un.k by A6,A15,PROB_1:12;
A18:  k in NAT by ORDINAL1:def 12;
      not b in union{Cl (Wn.m) where m is Element of NAT: m in Seg k\/{0} }
      proof
        assume
        b in union{Cl (Wn.m) where m is Element of NAT: m in Seg k\/{ 0}};
        then consider CL being set such that
A19:    b in CL and
A20:    CL in {Cl (Wn.m) where m is Element of NAT: m in Seg k\/{0}}
        by TARSKI:def 4;
        consider m being Element of NAT such that
A21:    CL=Cl(Wn.m) and
        m in Seg k\/{0} by A20;
        B meets Cl(Wn.m) by A15,A19,A21,XBOOLE_0:3;
        hence contradiction by A14;
      end;
      then b in UW(k) by A17,XBOOLE_0:def 5;
      then b in FUW.k by A9,A18;
      hence contradiction by A16,PROB_1:12;
    end;
    then
A22: B c= Union FUW;
    deffunc WU(Nat) =Wn.$1\union{Cl (Un.k) where k is Element of
    NAT: k in Seg $1\/{0}};
    defpred E1[Element of NAT,set] means $2=WU($1);
A23: for k being Element of NAT ex y being Subset of T st E1[k,y];
    consider FWU being sequence of  bool the carrier of T such that
A24: for k being Element of NAT holds E1[k,FWU.k] from FUNCT_2:sch 3(
    A23);
A25: Union FUW misses Union FWU
    proof
      assume Union FUW meets Union FWU;
      then consider f being object such that
A26:  f in Union FUW and
A27:  f in Union FWU by XBOOLE_0:3;
      consider n being Nat such that
A28:  f in FUW.n by A26,PROB_1:12;
      consider k being Nat such that
A29:  f in FWU.k by A27,PROB_1:12;
A30:  n>=k implies FUW.n misses FWU.k
      proof
        assume that
A31:    n>=k and
A32:    FUW.n meets FWU.k;
        consider w being object such that
A33:    w in FUW.n and
A34:    w in FWU.k by A32,XBOOLE_0:3;
A35:  k in NAT by ORDINAL1:def 12;
A36:  n in NAT by ORDINAL1:def 12;
        w in Wn.k\union{Cl(Un.l) where l is Element of NAT: l in Seg k\/{
        0} } by A24,A34,A35;
        then
A37:    w in Wn.k by XBOOLE_0:def 5;
        k = 0 or k in Seg k by FINSEQ_1:3;
        then k in {0} or k in Seg k & Seg k c= Seg n by A31,FINSEQ_1:5
,TARSKI:def 1;
        then k in Seg n\/{0} by XBOOLE_0:def 3;
        then
A38:    Wn.k c= Cl(Wn.k) & Cl(Wn.k) in {Cl (Wn.l) where l is Element of
        NAT: l in Seg n\/{0}} by PRE_TOPC:18;
        w in Un.n\union{Cl(Wn.l) where l is Element of NAT: l in Seg n\/{
        0} } by A9,A33,A36;
        then
        not w in union{Cl(Wn.l) where l is Element of NAT: l in Seg n\/{0
        }} by XBOOLE_0:def 5;
        hence contradiction by A37,A38,TARSKI:def 4;
      end;
      n<=k implies FUW.n misses FWU.k
      proof
        assume that
A39:    n<=k and
A40:    FUW.n meets FWU.k;
        consider u being object such that
A41:    u in FUW.n and
A42:    u in FWU.k by A40,XBOOLE_0:3;
A43:  n in NAT by ORDINAL1:def 12;
A44:  k in NAT by ORDINAL1:def 12;
        u in Un.n\union{Cl(Wn.l) where l is Element of NAT: l in Seg n\/{
        0} } by A9,A41,A43;
        then
A45:    u in Un.n by XBOOLE_0:def 5;
        n = 0 or n in Seg n by FINSEQ_1:3;
        then n in {0} or n in Seg n & Seg n c= Seg k by A39,FINSEQ_1:5
,TARSKI:def 1;
        then n in Seg k\/{0} by XBOOLE_0:def 3;
        then
A46:    Un.n c= Cl(Un.n) & Cl(Un.n) in {Cl (Un.l) where l is Element of
        NAT: l in Seg k\/{0}} by PRE_TOPC:18;
        u in Wn.k\union{Cl(Un.l) where l is Element of NAT: l in Seg k\/{
        0} } by A24,A42,A44;
        then
        not u in union{Cl(Un.l) where l is Element of NAT: l in Seg k\/{0
        }} by XBOOLE_0:def 5;
        hence contradiction by A45,A46,TARSKI:def 4;
      end;
      hence contradiction by A28,A29,A30,XBOOLE_0:3;
    end;
    for n holds FWU.n is open
    proof
      let n;
      set CLn={Cl (Un.k) where k is Element of NAT: k in Seg n\/{0}};
      now
        let C be object;
        assume C in CLn;
        then ex k being Element of NAT st C=Cl (Un.k) & k in Seg n\/{ 0};
        hence C in bool the carrier of T;
      end;
      then reconsider CLn as Subset-Family of T by TARSKI:def 3;
      deffunc CL(Element of NAT)=Cl(Un.$1);
A47:  Seg n\/{0} is finite;
A48:  {CL(k) where k is Element of NAT : k in Seg n\/{0}} is finite from
      FRAENKEL:sch 21(A47);
      now
        let A;
        assume A in CLn;
        then ex k being Element of NAT st A=Cl(Un.k) & k in Seg n\/{0 };
        hence A is closed;
      end;
      then
A49:  CLn is closed by TOPS_2:def 2;
      Wn.n is open by A5;
      then Wn.n\union CLn is open by A48,A49,Lm6,TOPS_2:21;
      hence thesis by A24;
    end;
    then
A50: Union FWU is open by Th17;
A51: for n holds A misses Cl (Un.n)
    proof
      let n;
      Cl (Un.n) c= U by A7;
      hence thesis by XBOOLE_1:63,79;
    end;
    now
      let a be object;
      assume that
A52:  a in A and
A53:  not a in Union FWU;
      consider k being Nat such that
A54:  a in Wn.k by A4,A52,PROB_1:12;
A55:  k in NAT by ORDINAL1:def 12;
      not a in union{Cl (Un.m) where m is Element of NAT: m in Seg k\/{0} }
      proof
        assume
        a in union{Cl (Un.m) where m is Element of NAT: m in Seg k\/{ 0}};
        then consider CL being set such that
A56:    a in CL and
A57:    CL in {Cl (Un.m) where m is Element of NAT: m in Seg k\/{0}}
        by TARSKI:def 4;
        consider m being Element of NAT such that
A58:    CL=Cl(Un.m) and
        m in Seg k\/{0} by A57;
        A meets Cl(Un.m) by A52,A56,A58,XBOOLE_0:3;
        hence contradiction by A51;
      end;
      then a in WU(k) by A54,XBOOLE_0:def 5;
      then a in FWU.k by A24,A55;
      hence contradiction by A53,PROB_1:12;
    end;
    then A c= Union FWU;
    hence thesis by A22,A25,A13,A50;
  end;
  hence thesis;
end;
