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 Th50:
  sReal.r1 < sReal.r2 iff r1 < r2
proof
  set R1 = sReal.r1, R2 = sReal.r2;
A1:L_R1 << {R1} <<R_R1 & R1 in {R1} &
  L_R2 << {R2} << R_R2 & R2 in {R2} by SURREALO:11,TARSKI:def 1;
  thus R1 < R2 implies r1 < r2
  proof
    assume
A2: R1 < R2;
    then
A3: r1 <> r2 by SURREALO:3;
    assume not r1 < r2;
    then r2 < r1 by A3,XXREAL_0:1;
    then 0< r1-r2 by XREAL_1:50;
    then consider k be Nat such that
A4: 1/ (2|^k) <= r1-r2 by PREPOWER:92;
    set K2 = 2|^(k+1);
    K2  = 2* (2|^k) by NEWTON:6;
    then
A5: K2*(1/ (2|^k)) = 2* ((2|^k)*(1/ (2|^k)))
    .= 2*1 by XCMPLX_1:106;
A6: K2*(r2 + 1/ (2|^k)) <= r1*K2 by A4,XREAL_1:19,XREAL_1:64;
A7: uDyadic.([/r1*K2 -1\] / K2) <= R1 by A1, Th42;
    R2 <= uDyadic.([\r2*K2 +1/] / K2) by A1,Th43;
    then R1 < uDyadic.([\r2*K2 +1/] / K2) by A2,SURREALO:4;
    then uDyadic.([/r1*K2 -1\] / K2) < uDyadic.([\r2*K2 +1/] / K2)
    by A7,SURREALO:4;
    then r1*K2 -1 <= [/r1*K2 -1\] < [\r2*K2 +1/]
    by Th24,XREAL_1:72,INT_1:def 7;
    then r1*K2 -1 < [\r2*K2 +1/] <= r2*K2 +1 by XXREAL_0:2,INT_1:def 6;
    then r1*K2 -1 < r2*K2 +1 by XXREAL_0:2;
    then r1*K2 -1+1 < r2*K2 +1+1 =r2*K2 +2 by XREAL_1:6;
    hence thesis by A6,A5;
  end;
  assume r1 < r2;
  then 0< r2-r1 by XREAL_1:50;
  then consider k be Nat such that
A8:  1/ (2|^k) <= r2-r1 by PREPOWER:92;
  set K2 = 2|^(k+1);
  K2  = 2* (2|^k) by NEWTON:6;
  then
A9: K2*(1/ (2|^k)) = 2* ((2|^k)*(1/ (2|^k)))
  .= 2*1 by XCMPLX_1:106;
  K2*(r1 + 1/ (2|^k)) <= r2*K2 by A8,XREAL_1:19,XREAL_1:64;
  then K2*r1 +2-1 <= r2*K2-1 by A9,XREAL_1:9;
  then [\ (K2*r1 +1) /] <= (K2*r1 +1) <= (r2*K2-1) by INT_1:def 6;
  then [\ (K2*r1 +1)/] <= (r2*K2-1) <= [/(r2*K2-1)\]
  by XXREAL_0:2, INT_1:def 7;
  then [\ (K2*r1 +1) /] <= [/(r2*K2-1)\] by XXREAL_0:2;
  then
A10:uDyadic.([\K2*r1 +1/]/K2) <= uDyadic.([/r2*K2-1\]/K2)
  by XREAL_1:72,Th24;
  R1 < uDyadic.([\K2*r1 +1/]/K2) by A1,Th43;
  then
A11: R1 < uDyadic.([/r2*K2-1\]/K2) by A10,SURREALO:4;
  uDyadic.([/r2*K2-1\]/K2) <= R2 by A1,Th42;
  hence R1 < R2 by A11,SURREALO:4;
end;
