(** * Rbar_min *)
Definition Rbar_min (x y : Rbar) : Rbar :=
match x, y with
| z, p_infty | p_infty, z => z
| _ , m_infty | m_infty, _ => m_infty
| Finite x, Finite y => Rmin x y
end.

(* Specifications: *)
Lemma Rbar_lt_locally (a b : Rbar) (x : R) :
Rbar_lt a x -> Rbar_lt x b ->
exists delta : posreal,
forall y, Rabs (y - x) < delta -> Rbar_lt a y /\ Rbar_lt y b.
Lemma Rbar_min_comm (x y : Rbar) : Rbar_min x y = Rbar_min y x.
Lemma Rbar_min_r (x y : Rbar) : Rbar_le (Rbar_min x y) y.
Lemma Rbar_min_l (x y : Rbar) : Rbar_le (Rbar_min x y) x.
Lemma Rbar_min_case (x y : Rbar) (P : Rbar -> Type) :
P x -> P y -> P (Rbar_min x y).
Lemma Rbar_min_case_strong (r1 r2 : Rbar) (P : Rbar -> Type) :
(Rbar_le r1 r2 -> P r1) -> (Rbar_le r2 r1 -> P r2)
-> P (Rbar_min r1 r2).