Section Lemmas_on_partial_orders.
Variable U : Type.
Variable B : Ensemble U.
Variable D : PO U.
elim D; simpl in |- *; auto.
intros C R H' H'0; elim H'0; auto 10.
Qed.
Hint Resolve Rel_of_reflexive.
elim D; simpl in |- *; auto.
intros C R H' H'0; elim H'0; auto 10.
Qed.
Hint Resolve Rel_of_antisymmetric.
elim D; simpl in |- *; auto.
intros C R H' H'0; elim H'0; auto 10.
Qed.
Hint Resolve Rel_of_transitive.
intros x y H' H'0; red in |- *; auto 20.
intros x0 H'1; elim H'1; auto 20.
Qed.
Hint Resolve Couple_included_in_carrier.
intros bsup X H' H'0; elim H'0; auto 20.
intro H'1; elim H'1; auto 20.
Qed.
intros x H'; auto 20.
apply Lub_definition; auto 10.
apply Upper_Bound_definition; auto 10.
intros y H'0; elim H'0; auto 10.
intros y H'0; elim H'0; auto 10.
Qed.
Hint Resolve Singleton_has_lub.
elim D.
intros C R n o.
elim n.
intros x H'; exists x.
apply Upper_Bound_definition; auto.
intros y H'0; elim H'0; auto.
Qed.
Hint Resolve Empty_set_has_Upper_Bound.
intro H'; elim H'.
intro h; elim h; intros bot E; clear h.
intro H'0; exists bot.
apply Lub_definition.
apply Upper_Bound_definition.
elim E; auto.
intros y H'1; elim H'1; auto.
intros y H'1; elim H'1; auto.
elim E; auto.
Qed.
Hint Resolve Empty_set_has_lub.
clear B.
intros A BB maj H' H'0 H'1 H'2; elim H'2; auto.
Qed.

Theorem Conditionally_complete_has_a_bottom :
Conditionally_complete U D -> exists bot : U, Bottom U D bot.