reserve x for Real;
reserve p,q for Point of TOP-REAL 2;

theorem Th29:
  Sq_Circ" is Function of TOP-REAL 2,TOP-REAL 2
proof
A1: the carrier of TOP-REAL 2 c= rng Sq_Circ
  proof
    let y be object;
    assume y in the carrier of TOP-REAL 2;
    then reconsider py=y as Point of TOP-REAL 2;
A2: dom Sq_Circ=the carrier of TOP-REAL 2 by FUNCT_2:def 1;
    now
      per cases;
      case
        py=0.TOP-REAL 2;
        then Sq_Circ.py=py by Def1;
        hence ex x being set st x in dom Sq_Circ & y=Sq_Circ.x by A2;
      end;
      case
A3:     (py`2<=py`1 & -py`1<=py`2 or py`2>=py`1 & py`2<=-py`1) & py<>
        0.TOP-REAL 2;
        set q=py;
        set px=|[q`1*sqrt(1+(q`2/q`1)^2),q`2*sqrt(1+(q`2/q`1)^2)]|;
A4:     sqrt(1+(q`2/q`1)^2)>0 by Lm1,SQUARE_1:25;
A5:     now
          assume that
A6:       px`1=0 and
A7:       px`2=0;
          q`2*sqrt(1+(q`2/q`1)^2)=0 by A7,EUCLID:52;
          then
A8:       q`2=0 by A4,XCMPLX_1:6;
          q`1*sqrt(1+(q`2/q`1)^2)=0 by A6,EUCLID:52;
          then q`1=0 by A4,XCMPLX_1:6;
          hence contradiction by A3,A8,EUCLID:53,54;
        end;
A9:     dom Sq_Circ=the carrier of TOP-REAL 2 by FUNCT_2:def 1;
A10:    px`1 = q`1*sqrt(1+(q`2/q`1)^2) by EUCLID:52;
A11:    px`2 = q`2*sqrt(1+(q`2/q`1)^2) by EUCLID:52;
        then
A12:    px`2/px`1=q`2/q`1 by A10,A4,XCMPLX_1:91;
        then
A13:    px`2/sqrt(1+(px`2/px`1)^2)=q`2 by A11,A4,XCMPLX_1:89;
        q`2<=q`1 & -q`1<=q`2 or q`2>=q`1 & q`2*sqrt(1+(q`2/q`1)^2) <= (-q
        `1)*sqrt(1+(q`2/q`1)^2) by A3,A4,XREAL_1:64;
        then q`2<=q`1 & (-q`1)*sqrt(1+(q`2/q`1)^2) <= q`2*sqrt(1+(q`2/q`1)^2)
        or px`2>=px`1 & px`2<=-px`1 by A10,A11,A4,XREAL_1:64;
        then q`2*sqrt(1+(q`2/q`1)^2) <= q`1*sqrt(1+(q`2/q`1)^2) & -px`1<=px`2
        or px`2>=px`1 & px`2<=-px`1 by A10,A4,EUCLID:52,XREAL_1:64;
        then
A14:    Sq_Circ.px=|[px`1/sqrt(1+(px`2/px`1)^2),px`2/sqrt(1+(px`2/ px`1)
        ^2) ]| by A10,A11,A5,Def1,JGRAPH_2:3;
        px`1/sqrt(1+(px`2/px`1)^2)=q`1 by A10,A4,A12,XCMPLX_1:89;
        hence ex x being set st x in dom Sq_Circ & y=Sq_Circ.x by A14,A13,A9,
EUCLID:53;
      end;
      case
A15:    not(py`2<=py`1 & -py`1<=py`2 or py`2>=py`1 & py`2<=-py`1)& py
        <>0.TOP-REAL 2;
        set q=py;
        set px=|[q`1*sqrt(1+(q`1/q`2)^2),q`2*sqrt(1+(q`1/q`2)^2)]|;
A16:    sqrt(1+(q`1/q`2)^2)>0 by Lm1,SQUARE_1:25;
A17:    px`2 = q`2*sqrt(1+(q`1/q`2)^2) by EUCLID:52;
A18:    now
          assume that
A19:      px`2=0 and
          px`1=0;
          q`2=0 by A17,A16,A19,XCMPLX_1:6;
          hence contradiction by A15;
        end;
A20:    px`1 = q`1*sqrt(1+(q`1/q`2)^2) by EUCLID:52;
        then
A21:    px`1/px`2=q`1/q`2 by A17,A16,XCMPLX_1:91;
        then
A22:    px`1/sqrt(1+(px`1/px`2)^2)=q`1 by A20,A16,XCMPLX_1:89;
        py`1<=py`2 & -py`2<=py`1 or py`1>=py`2 & py`1<=-py`2 by A15,JGRAPH_2:13
;
        then
        q`1<=q`2 & -q`2<=q`1 or q`1>=q`2 & q`1*sqrt(1+(q`1/q`2)^2) <= (-q
        `2)*sqrt(1+(q`1/q`2)^2) by A16,XREAL_1:64;
        then q`1<=q`2 & (-q`2)*sqrt(1+(q`1/q`2)^2) <= q`1*sqrt(1+(q`1/q`2)^2)
        or px`1>=px`2 & px`1<=-px`2 by A17,A20,A16,XREAL_1:64;
        then q`1*sqrt(1+(q`1/q`2)^2) <= q`2*sqrt(1+(q`1/q`2)^2) & -px`2<=px`1
        or px`1>=px`2 & px`1<=-px`2 by A17,A16,EUCLID:52,XREAL_1:64;
        then
A23:    Sq_Circ.px=|[px`1/sqrt(1+(px`1/px`2)^2),px`2/sqrt(1+(px`1/ px`2)
        ^2 )]| by A17,A20,A18,Th4,JGRAPH_2:3;
A24:    dom Sq_Circ=the carrier of TOP-REAL 2 by FUNCT_2:def 1;
        px`2/sqrt(1+(px`1/px`2)^2)=q`2 by A17,A16,A21,XCMPLX_1:89;
        hence ex x being set st x in dom Sq_Circ & y=Sq_Circ.x by A23,A22,A24,
EUCLID:53;
      end;
    end;
    hence thesis by FUNCT_1:def 3;
  end;
A25: rng (Sq_Circ")=dom (Sq_Circ) by FUNCT_1:33
    .=the carrier of TOP-REAL 2 by FUNCT_2:def 1;
  dom (Sq_Circ")=rng (Sq_Circ) by FUNCT_1:33;
  then dom (Sq_Circ")=the carrier of TOP-REAL 2 by A1;
  hence thesis by A25,FUNCT_2:1;
end;
