reserve s1,s2,q1 for Real_Sequence;

theorem Th1:
  for X be set, Y be RealNormSpace,
      f be PartFunc of REAL,the carrier of Y
  holds
  f|X is uniformly_continuous iff
   for r be Real st 0<r
    ex s be Real st 0<s &
    for x1,x2 be Real st x1 in dom(f|X) & x2 in dom(f|X) & |. x1-x2 .| < s
      holds ||. f/.x1-f/.x2 .|| < r
proof
  let X be set, Y be RealNormSpace,
      f be PartFunc of REAL,the carrier of Y;
  thus f|X is uniformly_continuous implies
          for r be Real st 0<r ex s be Real st 0<s &
  for x1,x2 be Real 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 be Real;
    assume 0<r;
    then consider s be Real such that
A2: 0<s and
A3: for x1,x2 be Real 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 be Real;
    assume A4: x1 in dom(f|X) & x2 in dom(f|X); then
    (f|X)/.x1 = f/.x1 & (f|X)/.x2 = f/.x2 by PARTFUN1:80;
    hence thesis by A3,A4;
  end;
  assume
A5: for r be Real st 0<r ex s be Real st 0<s
    & for x1,x2 be Real st x1 in dom(f|X) & x2 in dom(f|X)
    & |. x1-x2 .| < s holds ||. f/.x1-f/.x2 .|| < r;
  let r be Real;
  assume 0<r;
  then consider s be Real such that
A6: 0<s and
A7: for x1,x2 be Real st x1 in dom(f|X) & x2 in dom(f|X) &
     |. x1-x2 .| < s holds ||. f/.x1-f/.x2 .|| < r by A5;
  take s;
  thus 0<s by A6;
  let x1,x2 be Real;
  assume A8: x1 in dom(f|X) & x2 in dom(f|X); then
  (f|X)/.x1 = f/.x1 & (f|X)/.x2 = f/.x2 by PARTFUN1:80;
  hence thesis by A7,A8;
end;
