 reserve n for Nat;
 reserve s1 for sequence of Euclid n,
         s2 for sequence of REAL-NS n;

theorem Th30:
  for a,b being Real_Sequence st
  (for i being Nat holds
  (a.(i+1) = a.i & b.(i+1) = (a.i+b.i)/2) or
  (a.(i+1) = (a.i + b.i)/2 & b.(i+1) = b.i))
  holds (for i being Nat,r being Real st r = 2|^i & r <> 0 holds
  b.i - a.i <= (b.0-a.0) / r)
  proof
    let a,b be Real_Sequence;
    assume that
A1: for i being Nat holds
    (a.(i+1) = a.i & b.(i+1) = (a.i+b.i)/2 ) or
    (a.(i+1) = (a.i + b.i)/2 & b.(i+1) = b.i);
    defpred P[object] means ex i be Nat,
    r be Real st $1 = i & r = 2|^i & r <> 0 & b.i - a.i <= (b.0 - a.0) / r;
A2: P[0]
    proof
      reconsider i0 = 0 as Nat;
      reconsider r0 = 2|^0 as Real;
      take i0;
      take r0;
      2|^0 = 1 by NEWTON:4;
      hence thesis;
    end;
A3: for k be Nat holds P[k] implies P[k+1]
    proof
      let k be Nat;
      assume P[k];
      then consider i1 be Nat,
      r1 be Real such that
A4:   k = i1 and
A5:   r1 = 2|^i1 and
      r1 <> 0 and
A6:   b.i1 - a.i1 <= (b.0 - a.0) / r1;
      reconsider i0 = k+1 as Nat;
      reconsider r0 = 2|^(k+1) as Real;
A7:   r0 <> 0 by NEWTON:87;
      b.i0 - a.i0 <= (b.0 - a.0) /r0
      proof
A8:    (a.(k+1) = a.k & b.(k+1) = (a.k+b.k)/2 ) or
       (a.(k+1) = (a.k + b.k)/2 & b.(k+1) = b.k) by A1;
A9:    (b.i1-a.i1)/2 <= ((b.0-a.0)/r1)/2 by A6,XREAL_1:72;
        r1 * 2 = r0 by A4,A5,NEWTON:6;
        hence thesis by A8,A4,XCMPLX_1:78,A9;
      end;
      hence thesis by A7;
    end;
A10: for k be Nat holds P[k] from NAT_1:sch 2(A2,A3);
    let i be Nat, r be Real;
    assume that
A11: r = 2 |^i and
    r <> 0;
    consider i0 be Nat,
    r0 be Real such that
A12: i = i0 and
A13: r0 = 2|^i0 & r0 <> 0 & b.i0 - a.i0 <= (b.0 - a.0) / r0 by A10;
    thus b.i - a.i <= (b.0 - a.0) / r by A11,A12,A13;
  end;
