(**********************************************************)
(** *    [R] Complete                                     *)
(**********************************************************)
(**********)
(**********)
Definition bound (E:R -> Prop) :=  exists m : R, is_upper_bound E m.
(**********)
Definition is_lub (E:R -> Prop) (m:R) :=
is_upper_bound E m /\ (forall b:R, is_upper_bound E b -> m <= b).

(* Specifications: *)
(**********)
Lemma completeness :
forall E:R -> Prop,
bound E -> (exists x : R, E x) -> { m:R | is_lub E m }.