reserve a,b,c,d,m,x,n,j,k,l for Nat,
  t,u,v,z for Integer,
  f,F for FinSequence of NAT;
reserve p,q,r,s for real number;

theorem
  b>0 implies ex n st b >= 2|^n & b < 2|^(n+1)
  proof
    assume b > 0; then
    consider a such that
    A0: b = 1+a by NAT_1:10,14;
    ex n st (a+1) >= 2|^n & (a+1) < 2|^(n+1)
    proof
      defpred P[Nat] means ex n st ($1+1) >= 2|^n & ($1+1) <2|^(n+1);
      (0+1) >= 1*2|^0 & (0+1) < 2|^(0+1); then
      A1: P[0];
      A2: P[k] implies P[k+1]
      proof
        assume P[k]; then consider n such that
        B1: (k+1) >= 2|^n & k+1 < 2|^(n+1);
        per cases;
        suppose
          C1: k+1+1 < 2|^(n+1);
          k+1+1 > k+1+0 by XREAL_1:6; then
          k+1+1 >= 2|^n by B1,XXREAL_0:2;
          hence thesis by C1;
        end;
        suppose
          C1: k+1+1 >= 2|^(n+1);
          2*(k+1) < 2*2|^(n+1) by B1,XREAL_1:68; then
          C2: 2*k + 2 < 2|^(n+1+1) by NEWTON:6;
          (k+2)+0 <= k+2 + k by XREAL_1:6; then
          k+1+1 < 2|^(n+1+1) by C2,XXREAL_0:2;
          hence thesis by C1;
        end;
      end;
      for c be Nat holds P[c] from NAT_1:sch 2(A1,A2);
      hence thesis;
    end;
    hence thesis by A0;
  end;
