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;
reserve Rseq for Function of [:NAT,NAT:],REAL;

theorem Th58:
  r in lim_filter( #Rseq , <. Frechet_Filter(NAT),Frechet_Filter(NAT).))
  iff (for m being non zero Nat ex n being Nat st for n1,n2 being Nat st
  n <= n1 & n <= n2 holds |. Rseq.(n1,n2) - r .| < 1/m)
  proof
    reconsider p = r as Point of RealSpace by XREAL_0:def 1;
    (for m being non zero Nat ex n being Nat st for n1,n2 being Nat st
       n <= n1 & n <= n2 holds
    (Rseq.(n1,n2) in {q where q is Point of RealSpace: dist(p,q) < 1/m}))
    iff (for m being non zero Nat ex n being Nat st for n1,n2 being Nat st
    n <= n1 & n <= n2 holds |. Rseq.(n1,n2) - r .| < 1/m)
    proof
      hereby
        assume
A1:     for m being non zero Nat ex n being Nat st for n1,n2 being Nat st
          n <= n1 & n <= n2 holds (Rseq.(n1,n2) in
          {q where q is Point of RealSpace: dist(p,q) < 1/m});
        now
          let m be non zero Nat;
          consider n0 be Nat such that
A2:       for n1,n2 be Nat st n0 <= n1 & n0 <= n2 holds Rseq.(n1,n2) in
           {q where q is Point of RealSpace: dist(p,q) < 1/m} by A1;
          take n0;
          for n1,n2 being Nat st n0 <= n1 & n0<= n2 holds
            |. Rseq.(n1,n2) - r .| < 1/m
          proof
            let n1,n2 be Nat;
            assume n0 <= n1 & n0 <= n2;
            then Rseq.(n1,n2) in
             {q where q is Point of RealSpace: dist(p,q) < 1/m} by A2;
            then consider q be Point of RealSpace such that
A3:         Rseq.(n1,n2) = q and
A4:         dist(p,q) < 1/m;
            reconsider qr = q as Real;
            ex xr,yr being Real st p = xr & q = yr &
              dist(p,q) = real_dist.(p,q) &
              dist(p,q) = (Pitag_dist 1).(<*p*>,<*q*>) &
              dist(p,q) = |.xr - yr.| by Th6;
            hence |. Rseq.(n1,n2) - r .| < 1/m by A3,A4,COMPLEX1:60;
          end;
          hence for n1,n2 being Nat st n0 <= n1 & n0<= n2 holds
            |. Rseq.(n1,n2) - r .| < 1/m;
        end;
        hence for m being non zero Nat ex n being Nat st
          for n1,n2 being Nat st n <= n1 & n <= n2 holds
        |. Rseq.(n1,n2) - r .| < 1/m;
      end;
      assume
A5:   for m being non zero Nat ex n being Nat st for n1,n2 being Nat st
        n <= n1 & n <= n2 holds |. Rseq.(n1,n2) - r .| < 1/m;
      now
        let m be non zero Nat;
        consider n0 being Nat such that
A6:     for n1,n2 being Nat st n0 <= n1 & n0 <= n2 holds
          |. Rseq.(n1,n2) - r .| < 1/m by A5;
        now
          take n0;
          hereby
            let n1,n2 be Nat;
            assume n0 <= n1 & n0 <= n2; then
A7:         |. Rseq.(n1,n2) - r .| < 1/m by A6;
            reconsider m1 = n1, m2 = n2 as Element of NAT by ORDINAL1:def 12;
            Rseq.(m1,m2) in the carrier of RealSpace;
            then reconsider q = Rseq.(n1,n2) as Point of RealSpace;
            consider xr,yr being Real such that
A8:         p = xr and
A9:         q = yr and
            dist(p,q) = real_dist.(p,q) and
            dist(p,q) = (Pitag_dist 1).(<*p*>,<*q*>) and
A10:        dist(p,q) = |.xr - yr.| by Th6;
            |.xr - yr.| < 1/m by A8,A9,A7,COMPLEX1:60;
            hence Rseq.(n1,n2) in
              {q where q is Point of RealSpace: dist(p,q) < 1/m} by A10;
          end;
        end;
        hence ex n be Nat st for n1,n2 being Nat st n <= n1 & n <= n2 holds
          Rseq.(n1,n2) in
          {q where q is Point of RealSpace: dist(p,q) < 1/m};
      end;
      hence(for m being non zero Nat ex n being Nat st for n1,n2 being Nat st
        n <= n1 & n <= n2 holds (Rseq.(n1,n2) in
        {q where q is Point of RealSpace: dist(p,q) < 1/m}));
    end;
    hence thesis by Th57;
  end;
