reserve n for Nat;
reserve p for Point of TOP-REAL n, r for Real;

theorem Th8:
  Tunit_ball n, TOP-REAL n are_homeomorphic
proof
  reconsider n1 = n as Element of NAT by ORDINAL1:def 12;
  set U = Tunit_ball(n), C = TOP-REAL n;
  per cases;
  suppose A1: n is non empty;
    defpred P[Point of U,set] means ex w being Point of TOP-REAL n1 st w = $1 &
    $2 = 1/(1-|.w.|*|.w.|)*w;
    A2: for u being Point of U ex y being Point of C st P[u,y]
    proof
      let u be Point of U;
      reconsider v = u as Point of TOP-REAL n1 by PRE_TOPC:25;
      set y = 1/(1-|.v.|*|.v.|)*v;
      reconsider y as Point of C;
      take y;
      thus thesis;
    end;
    consider f being Function of U,C such that
    A3: for x being Point of U holds P[x,f.x] from FUNCT_2:sch 3(A2);
    for a being Point of U, b being Point of TOP-REAL n1 st a = b
    holds f.a = 1/(1-|.b.|*|.b.|)*b
    proof
      let a be Point of U, b be Point of TOP-REAL n1;
      P[a,f.a] by A3;
      hence thesis;
    end; ::then
::    ex f being Function of U,C st f is being_homeomorphism by A1,Th6;
    hence thesis by T_0TOPSP:def 1, A1,Th6;
  end;
  suppose A4: n is empty;
    A5: for x being object holds
    x in Ball(0.TOP-REAL 0,1) iff x = 0.TOP-REAL 0
    proof
      let x be object;
      thus x in Ball(0.TOP-REAL 0,1) implies x = 0.TOP-REAL 0;
      assume x = 0.TOP-REAL 0; then
      reconsider p = x as Point of TOP-REAL 0;
      |.p - 0.(TOP-REAL 0).| < 1 by EUCLID_2:39;
      hence x in Ball(0.TOP-REAL 0,1);
    end;
    [#]TOP-REAL 0 = {0.TOP-REAL 0} by EUCLID:22,77
    .= Ball(0.TOP-REAL 0,1) by A5,TARSKI:def 1;
    hence thesis by A4,MFOLD_0:1;
  end;
end;
