reserve a, b for Real,
  r for Real,
  rr for Real,
  i, j, n for Nat,
  M for non empty MetrSpace,
  p, q, s for Point of TOP-REAL 2,
  e for Point of Euclid 2,
  w for Point of Euclid n,
  z for Point of M,
  A, B for Subset of TOP-REAL n,
  P for Subset of TOP-REAL 2,
  D for non empty Subset of TOP-REAL 2;
reserve a, b for Real;
reserve a, b for Real;
reserve r for Real;

theorem Th39:
  p = e implies product ((1,2) --> (].p`1-r/sqrt 2,p`1+r/sqrt 2.[,
  ].p`2-r/sqrt 2,p`2+r/sqrt 2.[)) c= Ball(e,r)
proof
  set A = ].p`1-r/sqrt 2,p`1+r/sqrt 2.[, B = ].p`2-r/sqrt 2,p`2+r/sqrt 2.[, f
  = (1,2) --> (A,B);
  assume
A1: p = e;
  let a be object;
A2: A = {m where m is Real : p`1-r/sqrt 2 < m & m < p`1+r/sqrt 2 } by
RCOMP_1:def 2;
A3: f.2 = B by FUNCT_4:63;
A4: B = {n where n is Real : p`2-r/sqrt 2 < n & n < p`2+r/sqrt 2 } by
RCOMP_1:def 2;
A5: f.1 = A by FUNCT_4:63;
  assume a in product f;
  then consider g being Function such that
A6: a = g and
A7: dom g = dom f and
A8: for x being object st x in dom f holds g.x in f.x by CARD_3:def 5;
A9: dom f = {1,2} by FUNCT_4:62;
  then 1 in dom f by TARSKI:def 2;
  then
A10: g.1 in A by A8,A5;
  then consider m being Real such that
A11: m = g.1 and
  p`1-r/sqrt 2 < m and
  m < p`1+r/sqrt 2 by A2;
A12: 0 <= (m-p`1)^2 by XREAL_1:63;
  2 in dom f by A9,TARSKI:def 2;
  then
A13: g.2 in B by A8,A3;
  then consider n being Real such that
A14: n = g.2 and
  p`2-r/sqrt 2 < n and
  n < p`2+r/sqrt 2 by A4;
  |.n-p`2.| < r/sqrt 2 by A13,A14,RCOMP_1:1;
  then (|.n-p`2.|)^2 < (r/sqrt 2)^2 by COMPLEX1:46,SQUARE_1:16;
  then (|.n-p`2.|)^2 < r^2/(sqrt 2)^2 by XCMPLX_1:76;
  then (|.n-p`2.|)^2 < r^2/2 by SQUARE_1:def 2;
  then
A15: (n-p`2)^2 < r^2/2 by COMPLEX1:75;
  p`1-(p`1+r/sqrt 2) < p`1-(p`1-r/sqrt 2) by A10,XREAL_1:15,XXREAL_1:28;
  then -r/sqrt 2+r/sqrt 2 < r/sqrt 2+r/sqrt 2 by XREAL_1:6;
  then
A16: 0 < r by SQUARE_1:19;
A17: now
    let k be object;
    assume k in dom g;
    then k = 1 or k = 2 by A7,TARSKI:def 2;
    hence g.k = <*g.1,g.2*>.k;
  end;
A18: 0 <= (n-p`2)^2 by XREAL_1:63;
  |.m-p`1.| < r/sqrt 2 by A10,A11,RCOMP_1:1;
  then (|.m-p`1.|)^2 < (r/sqrt 2)^2 by COMPLEX1:46,SQUARE_1:16;
  then (|.m-p`1.|)^2 < r^2/(sqrt 2)^2 by XCMPLX_1:76;
  then (|.m-p`1.|)^2 < r^2/2 by SQUARE_1:def 2;
  then (m-p`1)^2 < r^2/2 by COMPLEX1:75;
  then (m-p`1)^2 + (n-p`2)^2 < r^2/2 + r^2/2 by A15,XREAL_1:8;
  then sqrt((m-p`1)^2 + (n-p`2)^2) < sqrt(r^2) by A12,A18,SQUARE_1:27;
  then
A19: sqrt((m-p`1)^2 + (n-p`2)^2) < r by A16,SQUARE_1:22;
  dom <*g.1,g.2*> = {1,2} by FINSEQ_1:2,89;
  then a = |[m,n]| by A6,A7,A11,A14,A17,FUNCT_1:2,FUNCT_4:62;
  then reconsider c = a as Point of TOP-REAL 2;
  reconsider b = c as Point of Euclid 2 by TOPREAL3:8;
  dist(b,e) = (Pitag_dist 2).(b,e) by METRIC_1:def 1
    .= sqrt ((c`1 - p`1)^2 + (c`2 - p`2)^2) by A1,TOPREAL3:7;
  hence thesis by A6,A11,A14,A19,METRIC_1:11;
end;
