(** Notations *)
Definition Inf_seq (u : nat -> Rbar) := proj1_sig (ex_inf_seq u).

(* Specifications: *)
Lemma is_sup_seq_unique (u : nat -> Rbar) (l : Rbar) :
is_sup_seq u l -> Sup_seq u = l.
Lemma Sup_seq_correct (u : nat -> Rbar) :
is_sup_seq u (Sup_seq u).
Lemma is_inf_seq_unique (u : nat -> Rbar) (l : Rbar) :
is_inf_seq u l -> Inf_seq u = l.
Lemma Inf_seq_correct (u : nat -> Rbar) :
is_inf_seq u (Inf_seq u).
Lemma Sup_seq_ext (u v : nat -> Rbar) :
(forall n, (u n) = (v n)) -> Sup_seq u = Sup_seq v.
Lemma Inf_seq_ext (u v : nat -> Rbar) :
(forall n, (u n) = (v n)) -> Inf_seq u = Inf_seq v.
Lemma Rbar_sup_eq_lub (u : nat -> Rbar) :
Sup_seq u = Rbar_lub (fun x => exists n, x = u n).
Lemma Inf_eq_glb (u : nat -> Rbar) :
Inf_seq u = Rbar_glb (fun x => exists n, x = u n).
Lemma Sup_opp_inf (u : nat -> Rbar) :
Sup_seq u = Rbar_opp (Inf_seq (fun n => Rbar_opp (u n))).
Lemma Inf_opp_sup (u : nat -> Rbar) :
Inf_seq u = Rbar_opp (Sup_seq (fun n => Rbar_opp (u n))).
Lemma Sup_seq_scal_l (a : R) (u : nat -> Rbar) : 0 <= a ->
Sup_seq (fun n => Rbar_mult a (u n)) = Rbar_mult a (Sup_seq u).
Lemma Inf_seq_scal_l (a : R) (u : nat -> Rbar) : 0 <= a ->
Inf_seq (fun n => Rbar_mult a (u n)) = Rbar_mult a (Inf_seq u).