reserve            x for object,
               X,Y,Z for set,
         i,j,k,l,m,n for Nat,
                 r,s for Real,
                  no for Element of OrderedNAT,
                   A for Subset of [:NAT,NAT:];
reserve X,Y,X1,X2 for non empty set,
          cA1,cB1 for filter_base of X1,
          cA2,cB2 for filter_base of X2,
              cF1 for Filter of X1,
              cF2 for Filter of X2,
             cBa1 for basis of cF1,
             cBa2 for basis of cF2;
reserve T for non empty TopSpace,
        s for Function of [:NAT,NAT:], the carrier of T,
        M for Subset of the carrier of T;
reserve cF3,cF4 for Filter of the carrier of T;

theorem Th50:
  for x being Point of T, cB being basis of BOOL2F NeighborhoodSystem x holds
  x in lim_filter(s,<. Frechet_Filter(NAT),Frechet_Filter(NAT).)) iff
  for B being Element of cB holds ex n being Nat st s.:(square-uparrow n) c= B
  proof
    let x be Point of T,cB be basis of BOOL2F NeighborhoodSystem x;
    hereby
      assume
A1:   x in lim_filter(s,<. Frechet_Filter(NAT),Frechet_Filter(NAT).));
      hereby
        let B be Element of cB;
        consider n be Nat such that
A2:     square-uparrow n c= s"(B) by A1,Th48;
        take n;
A3:     s.:(square-uparrow n) c= s.:(s"B) by A2,RELAT_1:123;
        s.:(s"B) c= B by FUNCT_1:75;
        hence s.:(square-uparrow n) c= B by A3;
      end;
    end;
    assume
A4: for B being Element of cB holds ex n being Nat st
      s.:(square-uparrow n) c= B;
    now
      let B be Element of cB;
      consider n be Nat such that
A5:   s.:(square-uparrow n) c= B by A4;
A6:   s"(s.:(square-uparrow n)) c= s"B by A5,RELAT_1:143;
      dom s = [:NAT,NAT:] by FUNCT_2:def 1;
      then square-uparrow n c= s"(s.:(square-uparrow n)) by FUNCT_1:76;
      then square-uparrow n c= s"B by A6;
      hence ex n be Nat st square-uparrow n c= s"(B);
    end;
    hence x in lim_filter(s,<. Frechet_Filter(NAT),Frechet_Filter(NAT).))
      by Th48;
  end;
