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
  for s being Function of [:NAT,NAT:],TopSpaceMetr(Euclid 1),
  y being Point of Euclid 1 holds (s.:(square-uparrow n)
    c= {q where q is Element of Euclid 1: dist(y,q) < 1/m}) iff
  (for x being object st x in s.:(square-uparrow n) holds
     ex rx,ry being Real st x = <*rx*> & y = <*ry*> & |.ry - rx.| < 1/m)
  proof
    let s be Function of [:NAT,NAT:],TopSpaceMetr(Euclid 1),
    y be Point of Euclid 1;
    hereby
      assume
A1:   (s.:(square-uparrow n) c=
        {q where q is Element of Euclid 1: dist(y,q) < 1/m});
      now
        let x be object;
        assume
A2:     x in s.:(square-uparrow n);
        then consider yo be object such that
A3:     yo in dom s and
        yo in square-uparrow n and
A4:     x = s.yo by FUNCT_1:def 6;
        reconsider z = x as Element of Euclid 1 by A3,A4,FUNCT_2:5;
        z in {q where q is Element of Euclid 1: dist(y,q) < 1/m} by A2,A1;
        then consider q be Element of Euclid 1 such that
A5:     z = q and
A6:     dist(y,q) < 1/m;
        reconsider yr1 = y as Point of Euclid 1;
        yr1 in 1-tuples_on REAL;
        then yr1 in the set of all <*r*> where r is Element of REAL
          by FINSEQ_2:96;
        then consider ry be Element of REAL such that
A8:     yr1 = <*ry*>;
        reconsider zr1 = z as Point of Euclid 1;
        zr1 in 1-tuples_on REAL;
        then zr1 in the set of all <*r*> where r is Element of REAL
          by FINSEQ_2:96;
        then consider rx be Element of REAL such that
A9:     zr1 = <*rx*>;
        |.ry - rx.| < 1/m by A5,A6,A8,A9,Th8;
        hence ex rx,ry be Real st x = <*rx*> & y = <*ry*> & |.ry-rx.| < 1/m
          by A8,A9;
      end;
      hence for x be object st x in s.:(square-uparrow n) holds
        ex rx,ry be Real st x = <*rx*> & y = <*ry*> & |.ry - rx.| < 1/m;
    end;
    assume
A10: for x be object st x in s.:(square-uparrow n) holds
       ex rx,ry be Real st x = <*rx*> & y = <*ry*> & |.ry - rx.| < 1/m;
    now
      let t be object;
      assume
A11:  t in s.:(square-uparrow n);
      then consider rx,ry be Real such that
A12:  t = <*rx*> and
A13:  y = <*ry*> and
A14:  |.ry - rx.| < 1/m by A10;
      consider yo be object such that
A15:  yo in dom s and
      yo in square-uparrow n and
A16:  t = s.yo by A11,FUNCT_1:def 6;
      reconsider q = t as Element of Euclid 1 by A15,A16,FUNCT_2:5;
      dist(y,q) < 1/m by A12,A13,A14,Th8;
      hence t in {q where q is Element of Euclid 1: dist(y,q) < 1/m};
    end;
    hence (s.:(square-uparrow n) c=
      {q where q is Element of Euclid 1: dist(y,q) < 1/m});
  end;
