Definition Sup_fct (f : R -> R) (a b : R) : Rbar :=
match Req_EM_T a b with
| right Hab => Lub_Rbar (fun y => exists x, y = f x /\ Rmin a b < x < Rmax a b)
| left _ => Finite 0
end.
Definition Inf_fct (f : R -> R) (a b : R) : Rbar :=
match Req_EM_T a b with
| right Hab => Glb_Rbar (fun y => exists x, y = f x /\ Rmin a b < x < Rmax a b)
| left _ => Finite 0
end.

(* Specifications: *)
Lemma Sup_fct_bound (f : R -> R) (a b : R) :
Sup_fct f a b = Sup_fct f b a.
Lemma Inf_fct_bound (f : R -> R) (a b : R) :
Inf_fct f a b = Inf_fct f b a.
Lemma Sup_fct_le (f : R -> R) (a b : R) (x : R) :
(Rmin a b < x < Rmax a b) ->
Rbar_le (Finite (f x)) (Sup_fct f a b).
Lemma Inf_fct_le (f : R -> R) (a b : R) (x : R) : (Rmin a b < x < Rmax a b) ->
Rbar_le (Inf_fct f a b) (Finite (f x)).
Lemma Sup_fct_maj (f : R -> R) (a b : R) (M : R) :
(forall x, Rmin a b < x < Rmax a b -> f x <= M) ->
is_finite (Sup_fct f a b).
Lemma Inf_fct_min (f : R -> R) (a b : R) (m : R) :
(forall x, Rmin a b < x < Rmax a b -> m <= f x) ->
is_finite (Inf_fct f a b).