reserve A,B,O for Ordinal,
        o for object,
        x,y,z for Surreal,
        n,m for Nat;
reserve d,d1,d2 for Dyadic;
reserve i,j for Integer,
        n,m,p for Nat;
reserve r,r1,r2 for Real;

theorem Th62:
  x is *real iff ex r st x == uReal.r
proof
  thus x is *real implies ex r st x == uReal.r
  proof
    assume
A1: x is *real;
    defpred L[object] means $1 is Real & for r be Real st r=$1 holds
    uReal.r < x;
    defpred R[object] means $1 is Real & for r be Real st r=$1 holds
    x < uReal.r;
A2: for r,s being ExtReal st L[r] & R[s] holds r <= s
    proof
      let r,s be ExtReal such that
A3:   L[r] & R[s];
      reconsider R=r,S=s as Real by A3;
      uReal.R < x <= uReal.S by A3;
      then uReal.R < uReal.S by SURREALO:4;
      hence thesis by Th51;
    end;
    consider s be ExtReal such that
A4: for r be ExtReal st L[r] holds r <= s and
A5: for r be ExtReal st R[r] holds s <= r from XXREAL_1:sch 1(A2);
    consider n be Nat such that
A6: uInt.-n < x < uInt.n by A1;
    uReal.n = uDyadic.n = uInt.n &
    uReal.-n = uDyadic.-n = uInt.-n by Th46,Def5;
    then L[-n] & R[n] by A6;
    then -n <= s <= n & n in REAL & -n in REAL by A4,A5,XREAL_0:def 1;
    then s in REAL by XXREAL_0:45;
    then reconsider s as Real;
    take s;
    set S=uReal.s;
    S = Unique_No sReal.s by Def7;
    then
A7: sReal.s == S & x == real_qua x by A1,SURREALO:def 10;
A8: x <= S
    proof
      assume S < x;
      then S < real_qua x by A7,SURREALO:4;
      then sReal.s < real_qua x by A7,SURREALO:4;
      then per cases by SURREALO:13;
      suppose ex xR be Surreal st xR in R_sReal.s & sReal.s < xR <= real_qua x;
        then consider xR be Surreal such that
A9:     xR in R_sReal.s & sReal.s < xR <= real_qua x;
        consider n such that
A10:    xR = uDyadic.([\ s*(2|^n)+1/] / (2|^n)) by A9,Th43;
        set D= [\ s*(2|^n)+1/] / (2|^n);
A11:    s < D by Th41;
        then
A12:    (s+D)/2 < D by XREAL_1:226;
A13:    xR = uReal.D by A10,Th46;
        xR <= x by A9,A7,SURREALO:4;
        then L[(s+D)/2] by A12,A13,SURREALO:4,Th51;
        hence thesis by A4,A11, XREAL_1:226;
      end;
      suppose ex yL be Surreal st yL in L_real_qua x &
        sReal.s <= yL < real_qua x;
        then consider yL be Surreal such that
A14:    yL in L_real_qua x & sReal.s <= yL < real_qua x;
        yL in the set of all x - (uInt.n)" where n is positive Nat by Def8,A14;
        then consider nL be positive Nat such that
A15:    yL = x - (uInt.nL)";
        1*nL < 2*nL by XREAL_1:68;
        then uReal.(1/(2*nL)) < uReal.(1/nL) == (uInt.nL)"
        by XREAL_1:76,Th58,Th51;
        then uReal.(1/(2*nL)) < (uInt.nL)" by SURREALO:4;
        then - ((uInt.nL)") < - uReal.(1/(2*nL)) by SURREALR:10;
        then yL < x+- uReal.(1/(2*nL)) by A15,SURREALR:44;
        then sReal.s < x- uReal.(1/(2*nL)) by A14,SURREALO:4;
        then uReal.s +uReal.(1/(2*nL)) == sReal.s +uReal.(1/(2*nL)) < x
        by A7,SURREALR:42,SURREALR:66;
        then uReal.(s+(1/(2*nL))) == uReal.s +uReal.(1/(2*nL)) < x
        by SURREALO:4,Th55;
        then L[s+(1/(2*nL))] by SURREALO:4;
        then s+(1/(2*nL)) <= s+0 by A4;
        hence thesis by XREAL_1:6;
      end;
    end;
    S <= x
    proof
      assume x < S;
      then real_qua x < S by A7,SURREALO:4;
      then real_qua x < sReal.s  by A7,SURREALO:4;
      then per cases by SURREALO:13;
      suppose ex xR be Surreal st xR in R_real_qua x &
        real_qua x < xR <= sReal.s;
        then consider xR be Surreal such that
A16:    xR in R_real_qua x & real_qua x < xR <= sReal.s;
        xR in the set of all x + (uInt.n)" where n is positive Nat by Def8,A16;
        then consider nL be positive Nat such that
A17:    xR = x + (uInt.nL)";
        1*nL < 2*nL by XREAL_1:68;
        then uReal.(1/(2*nL)) < uReal.(1/nL) == (uInt.nL)"
        by XREAL_1:76,Th58,Th51;
        then uReal.(1/(2*nL)) < (uInt.nL)" by SURREALO:4;
        then x+ uReal.(1/(2*nL)) < xR by A17,SURREALR:44;
        then x+ uReal.(1/(2*nL)) < sReal.s by A16,SURREALO:4;
        then x+ uReal.(1/(2*nL)) < uReal.s by A7,SURREALO:4;
        then
A18:    x < uReal.s -uReal.(1/(2*nL)) by SURREALR:42;
        -uReal.(1/(2*nL)) == uReal.-(1/(2*nL)) by Th56;
        then uReal.s +-uReal.(1/(2*nL)) == uReal.s +uReal.-(1/(2*nL))
        by SURREALR:66;
        then x < uReal.s +uReal.-(1/(2*nL)) == uReal.(s+-(1/(2*nL)))
        by Th55,A18,SURREALO:4;
        then R[s-(1/(2*nL))] by SURREALO:4;
        then 0+s <= s+-(1/(2*nL)) by A5;
        hence thesis by XREAL_1:6;
      end;
      suppose ex yL be Surreal st yL in L_sReal.s & real_qua x <= yL < sReal.s;
        then consider yL be Surreal such that
A19:    yL in L_sReal.s & real_qua x <= yL < sReal.s;
        consider n such that
A20:    yL = uDyadic.([/ s*(2|^n)-1\] / (2|^n)) by A19,Th42;
        set D= [/ s*(2|^n)-1\] / (2|^n);
A21:    D < s by Th41;
        then
A22:    D < (s+D)/2 by XREAL_1:226;
A23:    yL = uReal.D by A20,Th46;
        x <= yL by A19,A7,SURREALO:4;
        then R[(s+D)/2] by A22,A23,Th51,SURREALO:4;
        hence thesis by A5,A21, XREAL_1:226;
      end;
    end;
    hence thesis by A8;
  end;
  thus thesis by Th61;
end;
