(** Basic properties *)

(* Specifications: *)
Lemma Rbar_ub_p_infty (E : Rbar -> Prop) :
Rbar_is_upper_bound E p_infty.
Lemma Rbar_lb_m_infty (E : Rbar -> Prop) :
Rbar_is_lower_bound E m_infty.
Lemma Rbar_ub_Finite (E : Rbar -> Prop) (l : R) :
Rbar_is_upper_bound E l ->
is_upper_bound (fun (x : R) => E x) l.
Lemma Rbar_lb_Finite (E : Rbar -> Prop) (l : R) :
Rbar_is_lower_bound E (Finite l) ->
is_upper_bound (fun x => E (Finite (- x))) (- l).
Lemma Rbar_ub_m_infty (E : Rbar -> Prop) :
Rbar_is_upper_bound E m_infty -> forall x, E x -> x = m_infty.
Lemma Rbar_lb_p_infty (E : Rbar -> Prop) :
Rbar_is_lower_bound E p_infty -> (forall x, E x -> x = p_infty).
Lemma Rbar_lb_le_ub (E : Rbar -> Prop) (l1 l2 : Rbar) : (exists x, E x) ->
Rbar_is_lower_bound E l1 -> Rbar_is_upper_bound E l2 -> Rbar_le l1 l2.
Lemma Rbar_lb_eq_ub (E : Rbar -> Prop) (l : Rbar) :
Rbar_is_lower_bound E l -> Rbar_is_upper_bound E l -> forall x, E x -> x = l.