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 Th54: :::
  r1 < r2 implies
    ex n st r1 < [/r2*(2|^n)-1\] / (2|^n)
proof
  assume r1 < r2;
  then 0< r2-r1 by XREAL_1:50;
  then consider k be Nat such that
A1:  1/ (2|^k) <= r2-r1 by PREPOWER:92;
  take k+1;
  set K2 = 2|^(k+1);
  K2  = 2* (2|^k) by NEWTON:6;
  then
A2: K2*(1/ (2|^k)) = 2* ((2|^k)*(1/ (2|^k)))
  .= 2*1 by XCMPLX_1:106;
  K2*(r1 + 1/ (2|^k)) <= r2*K2 by A1,XREAL_1:19,XREAL_1:64;
  then K2*r1 +2-2 < r2*K2-1 <=[/ (K2*r2 -1) \] by
  A2,XREAL_1:15,INT_1:def 7;
  then K2*r1 <[/ (K2*r2 -1) \] by XXREAL_0:2;
  then r1 = (r1*K2)/K2 < [/ (K2*r2 -1) \]/K2 by XREAL_1:74,XCMPLX_1:89;
  hence thesis;
end;
