Section more_lemmas.
Variable U : Type.
Variable B : Ensemble U.
Variable D : PO U.
intros X bound H' H'0; elim H'0; auto with sets.
Qed.
intros X bound H' H'0; elim H'0; auto with sets.
Qed.
intros H' C bsup1 bsup2 H'0 H'1.
apply (Rel_of_antisymmetric U D); (elim H'1; elim H'0; auto with sets).
Qed.
intros x y z H' H'0 H'1 H'2 H'3.
apply Upper_Bound_definition; auto with sets.
intros y0 H'4; elim H'4; auto with sets.
Qed.
Hint Resolve Upper_Bound_Couple_intro.
intros x y z H'; elim H'; auto with sets.
Qed.
intros x z H' H'0 H'1; rewrite <- H'1.
apply Upper_Bound_definition; auto with sets.
intros y H'2; elim H'2; auto with sets.
Qed.
Hint Resolve Upper_Bound_Singleton_intro.
intros x z H'; elim H'; auto with sets.
Qed.
Hint Resolve Upper_Bound_Singleton_inv.

Theorem Bounded_implies_consistent :
forall X : Ensemble U,
Included U X (Carrier_of U D) ->
ex (fun maj : U => Upper_Bound U D X maj) -> Consistent U D X.