reserve n,m,k,k1,k2 for Nat;
reserve r,r1,r2,s,t,p for Real;
reserve seq,seq1,seq2 for Real_Sequence;
reserve x,y for set;

theorem Th8:
  seq is bounded_below implies (r = lower_bound seq iff (for n holds r <=
  seq.n) & for s st 0<s holds ex k st seq.k < r+s )
proof
  set R = rng seq;
  assume seq is bounded_below;
  then
A1: rng seq is bounded_below by Th6;
A2: rng seq <> {} by RELAT_1:41;
A3: (for n holds r <= seq.n) & (for s st 0<s holds ex k st seq.k<r+s)
  implies r = lower_bound seq
  proof
    assume that
A4: for n holds r <= seq.n and
A5: for s st 0<s holds ex k st seq.k<r+s;
A6: now
      let s;
      assume 0<s;
      then consider k such that
A7:   seq.k < r+s by A5;
A8:   k in NAT by ORDINAL1:def 12;
      consider r2 such that
A9:   r2 in R & r2 = seq.k by FUNCT_2:4,A8;
      take r2;
      thus r2 in R & r2 <r+s by A7,A9;
    end;
    now
      let r1;
      assume r1 in R;
      then ex n being object st n in dom seq & seq.n = r1 by FUNCT_1:def 3;
      hence r <= r1 by A4;
    end;
    hence thesis by A1,A2,A6,SEQ_4:def 2;
  end;
  r = lower_bound seq implies (for n holds r <= seq.n) &
  for s st 0<s holds ex k
  st seq.k<r+s
  proof
    assume
A10: r = lower_bound seq;
A11: now
      let s;
      assume 0<s;
      then consider r2 such that
A12:  r2 in R and
A13:  r2<r+s by A1,A2,A10,SEQ_4:def 2;
      consider k being Nat such that
A14:  r2 = seq.k by A12,SETLIM_1:4;
       reconsider k as Nat;
      take k;
      thus seq.k<r+s by A13,A14;
    end;
    now
      let n;
      n in NAT by ORDINAL1:def 12;
      then seq.n in R by FUNCT_2:4;
      hence r <= seq.n by A1,A10,SEQ_4:def 2;
    end;
    hence thesis by A11;
  end;
  hence thesis by A3;
end;
