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;
reserve f for Function of [#]OrderedNAT,R^1,
        seq for Function of NAT,REAL;

theorem Th70:
  f = seq & lim_f f <> {} implies seq is convergent & ex z being Real
  st z in lim_f f & for p being Real st 0 < p holds ex n being Nat st
  for m being Nat st n <= m holds |.seq.m - z.| < p
  proof
    assume that
A1: f = seq and
A2: lim_f f <> {};
    consider x be object such that
A3: x in lim_f f by A2, XBOOLE_0:def 1;
    reconsider y = x as Point of TopSpaceMetr(RealSpace) by A3;
    reconsider z = y as Real;
A4: Balls(y) is basis of BOOL2F NeighborhoodSystem y by CARDFIL3:6;
    consider yr be Point of RealSpace such that
A5: yr = y and
A6: Balls(y) = {Ball(yr,1/n) where n is Nat: n <> 0} by FRECHET:def 1;
A7: for p be Real st 0 < p holds ex n be Nat st for m be Nat st n <= m holds
     |.seq.m - z.| < p
    proof
      now
        let p be Real;
        assume 0 < p;
        then consider M be Nat such that
A8:     M is non zero and
A9:     1 / M < p by Th5;
        now
          Ball(yr,1/M) in Balls(y) by A8,A6;
          then consider i be Element of OrderedNAT such that
A10:      for j be Element of OrderedNAT st i <= j holds f.j in Ball(yr,1/M)
            by A4,A3,CARDFIL2:84;
          reconsider i0 = i as Nat;
          take i0;
          let m be Nat;
          assume
A11:      i0 <= m;
          reconsider m0 = m as Element of OrderedNAT by ORDINAL1:def 12;
          m0 in {x where x is Element of NAT:ex p0 be Element of NAT st
          i0 = p0 & p0 <= x} by A11;
          then m0 in uparrow i by CARDFIL2:50;
          then f.m0 in Ball(yr,1/M) by A10,WAYBEL_0:18;
          then f.m0 in ].yr - 1/M, yr + 1/M.[ by FRECHET:7; then
A12:      yr - 1/M < seq.m0 < yr + 1/M by A1,XXREAL_1:4;
          yr - p < yr - 1/M & yr + 1/M < yr + p by A9,XREAL_1:8,XREAL_1:15;
          then yr - p < seq.m0 < yr + p by A12,XXREAL_0:2;
          then seq.m0 in ].yr - p,yr + p.[ by XXREAL_1:4;
          then f.m0 in Ball(yr,p) by A1,FRECHET:7;
          then f.m0 in {q where q is Element of RealSpace:dist(yr,q) < p}
            by METRIC_1:def 14;
          then consider q0 be Element of RealSpace such that
A13:      f.m0 = q0 and
A14:      dist(yr,q0) < p;
          reconsider g2 = yr as Point of RealSpace;
          ex x1r,y1r being Real st
          q0 = x1r &
          g2 = y1r &
          dist(q0,g2) = real_dist.(q0,g2) &
          dist(q0,g2) = (Pitag_dist 1).(<*q0*>,<*g2*>) &
          dist(q0,g2) = |.x1r - y1r.| by Th6;
          hence |.seq.m - z.| < p by A14,A1,A5,A13;
        end;
        hence ex n be Nat st for m be Nat st n <= m holds |.seq.m - z.| < p;
      end;
      hence thesis;
    end;
    hence seq is convergent by SEQ_2:def 6;
    thus ex z be Real st z in lim_f f & for p be Real st 0 < p holds
      ex n be Nat st for m be Nat st n <= m holds |.seq.m - z.| < p
      by A3,A7;
  end;
