proposition: Lemma cvg_sups_inf u : has_ubound (range u) -> has_lbound (range u) -> sups u @ \oo --> inf (range (sups u)).
proof: Proof. move=> u_ub u_lb; apply: nonincreasing_cvgn; first exact: nonincreasing_sups. case: u_lb => M uM; exists M => _ [n _ <-]. rewrite (@le_trans _ _ (u n)) //; first by apply: uM; exists n. by apply: sup_ub; [exact/has_ubound_sdrop|exists n => /=]. Qed.
imports: mathcomp(all_ssreflect ssralg ssrint ssrnum matrix) mathcomp(interval rat) mathcomp(mathcomp_extra boolp classical_sets functions) mathcomp(set_interval) reals ereal signed topology normedtype landau