proposition: Lemma supremum_pr X r: order r -> sub X (substrate r) -> has_supremum r X -> (upper_bound r X (supremum r X) /\ forall z, upper_bound r X z -> gle r (supremum r X) z).
proof: Proof. by move=> or Xsr /(supremum_pr1 or) /(lubP or Xsr). Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)