reserve n,m for Element of NAT;
reserve x, X,X1,Z,Z1 for set;
reserve s,g,r,t,p,x0,x1,x2 for Real;
reserve s1,s2,q1 for Real_Sequence;
reserve Y for Subset of REAL;
reserve f,f1,f2 for PartFunc of REAL,REAL;

theorem Th1:
  f|X is uniformly_continuous iff
   for r st 0<r
    ex s st 0<s &
    for x1,x2 st x1 in dom(f|X) & x2 in dom(f|X) & |.x1-x2.| < s
      holds |.f.x1-f.x2.| < r
proof
  thus f|X is uniformly_continuous implies for r st 0<r ex s st 0<s & for x1,
x2 st x1 in dom(f|X) & x2 in dom(f|X) & |.x1-x2.| < s holds |.f.x1-f.x2.|
  < r
  proof
    assume
A1: f|X is uniformly_continuous;
    let r;
    assume 0<r;
    then consider s such that
A2: 0<s and
A3: for x1,x2 st x1 in dom(f|X) & x2 in dom (f|X) & |.x1-x2.| < s
    holds |.(f|X).x1 - (f|X).x2.| < r by A1;
    take s;
    thus 0<s by A2;
    let x1,x2;
    assume that
A4: x1 in dom(f|X) and
A5: x2 in dom(f|X);
A6: (f|X).x2 = f.x2 by A5,FUNCT_1:47;
    (f|X).x1 = f.x1 by A4,FUNCT_1:47;
    hence thesis by A3,A4,A5,A6;
  end;
  assume
A7: for r st 0<r ex s st 0<s & for x1,x2 st x1 in dom(f|X) & x2 in dom(f
  |X) & |.x1-x2.| < s holds |.f.x1-f.x2.| < r;
  let r;
  assume 0<r;
  then consider s such that
A8: 0<s and
A9: for x1,x2 st x1 in dom(f|X) & x2 in dom(f|X) & |.x1-x2.| < s
  holds |.f.x1-f.x2.| < r by A7;
  take s;
  thus 0<s by A8;
  let x1,x2;
  assume that
A10: x1 in dom(f|X) and
A11: x2 in dom(f|X);
A12: (f|X).x2 = f.x2 by A11,FUNCT_1:47;
  (f|X).x1 = f.x1 by A10,FUNCT_1:47;
  hence thesis by A9,A10,A11,A12;
end;
