(* Specifications: *)
Theorem Pairs_are_enough_finite_case : (forall x y : U, Compatible U D x y -> ex (fun bsup : U => Lub U D (Couple U x y) bsup)) -> forall X : Ensemble U, Finite U X -> Included U X (Carrier_of U D) -> ex (fun maj : U => Upper_Bound U D X maj) -> ex (fun bsup : U => Lub U D X bsup).
Theorem Rel_of_reflexive : forall x : U, Rel_of U D x x.
Theorem Rel_of_antisymmetric : Antisymmetric U (Rel_of U D).
Theorem Rel_of_transitive : Transitive U (Rel_of U D).
Theorem Couple_included_in_carrier : forall x y : U, In U (Carrier_of U D) x -> In U (Carrier_of U D) y -> Included U (Couple U x y) (Carrier_of U D).
Theorem Lub_is_in_Carrier : forall (bsup : U) (X : Ensemble U), Included U X (Carrier_of U D) -> Lub U D X bsup -> In U (Carrier_of U D) bsup.
Theorem Singleton_has_lub : forall x : U, In U (Carrier_of U D) x -> Lub U D (Singleton U x) x.
Theorem Empty_set_has_Upper_Bound : exists maj : U, Upper_Bound U D (Empty_set U) maj.
Theorem Anyone_is_Upper_Bound_of_Empty_set : forall x : U, In U (Carrier_of U D) x -> Upper_Bound U D (Empty_set U) x.
Theorem Empty_set_has_lub : forall C : Cpo U, exists bsup : U, Lub U (PO_of_cpo U C) (Empty_set U) bsup.
Theorem Upper_downward_stable : forall (A B : Ensemble U) (maj : U), Included U A (Carrier_of U D) -> Included U B (Carrier_of U D) -> Included U A B -> Upper_Bound U D B maj -> Upper_Bound U D A maj.
Theorem Conditionally_complete_has_a_bottom : Conditionally_complete U D -> exists bot : U, Bottom U D bot.
Theorem Bottom_is_compact : Conditionally_complete U D -> exists bot : U, Bottom U D bot /\ Compact U D bot.
Theorem Compact_is_in_Carrier : forall x : U, Compact U D x -> In U (Carrier_of U D) x.
Theorem Compatible_is_reflexive : forall x : U, Compatible U D x x.
Theorem Couple_is_symmetric : forall x y : U, Couple U x y = Couple U y x :>Ensemble U.
Theorem Compatible_is_symmetric : forall x y : U, Compatible U D x y -> Compatible U D y x.
Theorem Compatible_imp_consistent : forall x y : U, Compatible U D x y -> Consistent U D (Couple U x y).
Theorem Consistent_imp_compatible : forall x y : U, In U (Carrier_of U D) x -> In U (Carrier_of U D) y -> Consistent U D (Couple U x y) -> Compatible U D x y.
Theorem Coherent_implies_Conditionally_Complete : Coherent U D -> Conditionally_complete U D.
Theorem Coherent_has_a_bottom : Coherent U D -> exists bot : U, Bottom U D bot.
Theorem Coherent_implies_Complete : Coherent U D -> Complete U D.
Lemma Lub_monotonic : forall A B : Ensemble U, Included U A B -> Included U B (Carrier_of U D) -> forall a b : U, Lub U D A a -> Lub U D B b -> Rel_of U D a b.
Lemma Compatible_lubs : forall A B C : Ensemble U, Included U A C -> Included U B C -> Included U C (Carrier_of U D) -> forall a b c : U, Lub U D A a -> Lub U D B b -> Lub U D C c -> Compatible U D a b.
Lemma LUaux : forall A B : Ensemble U, Included U (Union U A B) (Carrier_of U D) -> forall a b bsup : U, Lub U D A a -> Lub U D B b -> Lub U D (Union U A B) bsup -> Lub U D (Couple U a b) bsup.
Lemma LUaux2 : forall A B : Ensemble U, Included U (Union U A B) (Carrier_of U D) -> forall a b bsup : U, Lub U D A a -> Lub U D B b -> Lub U D (Couple U a b) bsup -> Lub U D (Union U A B) bsup.
Theorem Lub_of_Union : Conditionally_complete U D -> forall A B : Ensemble U, Included U (Union U A B) (Carrier_of U D) -> forall x : U, In U (Carrier_of U D) x -> Upper_Bound U D (Union U A B) x -> forall a b : U, Lub U D A a -> Lub U D B b -> exists bsup : U, Lub U D (Union U A B) bsup /\ Lub U D (Couple U a b) bsup.
Theorem Lub_of_compacts_is_compact : Conditionally_complete U D -> forall x y z : U, Included U (Couple U x y) (Approximants U D z) -> In U (Carrier_of U D) z -> exists bsup : U, Lub U D (Couple U x y) bsup /\ Approximant U D z bsup.
Theorem approximants_closed_by_finite_lubs : Conditionally_complete U D -> forall (x : U) (C : Ensemble U), In U (Carrier_of U D) x -> Finite U C -> Included U C (Approximants U D x) -> exists bsup : U, Lub U D C bsup /\ Approximant U D x bsup.
Theorem Approximants_directed_set : Conditionally_complete U D -> forall x : U, In U (Carrier_of U D) x -> Directed U D (Approximants U D x).
Theorem Inclusion_of_Approximants : Domain U D -> forall x y : U, In U (Carrier_of U D) x -> In U (Carrier_of U D) y -> Included U (Approximants U D x) (Approximants U D y) -> Rel_of U D x y.
Theorem Less_imp_Inclusion_of_Approximants : Domain U D -> forall x y : U, In U (Carrier_of U D) x -> In U (Carrier_of U D) y -> Rel_of U D x y -> Included U (Approximants U D x) (Approximants U D y).
Theorem Approximants_define_element : Domain U D -> forall x y : U, In U (Carrier_of U D) x -> In U (Carrier_of U D) y -> Approximants U D x = Approximants U D y -> x = y.
Theorem Corollary1_1 : Domain U D -> forall x y : U, Compact U D x -> In U (Carrier_of U D) y -> Strict_Rel_of U D x y -> exists z : U, In U (Approximants U D y) z /\ Strict_Rel_of U D x z.
Theorem Corollary1_2 : Domain U D -> forall x : U, In U (Carrier_of U D) x -> ~ Compact U D x -> ~ Finite U (Approximants U D x).
Theorem Upper_Bound_is_in_Carrier : forall (X : Ensemble U) (bound : U), Included U X (Carrier_of U D) -> Upper_Bound U D X bound -> In U (Carrier_of U D) bound.
Theorem Lower_Bound_is_in_Carrier : forall (X : Ensemble U) (bound : U), Included U X (Carrier_of U D) -> Lower_Bound U D X bound -> In U (Carrier_of U D) bound.
Theorem Lub_is_unique : Conditionally_complete U D -> forall (C : Ensemble U) (bsup1 bsup2 : U), Lub U D C bsup1 -> Lub U D C bsup2 -> bsup1 = bsup2.
Theorem Upper_Bound_Couple_intro : forall x y z : U, In U (Carrier_of U D) x -> In U (Carrier_of U D) y -> In U (Carrier_of U D) z -> Rel_of U D x z -> Rel_of U D y z -> Upper_Bound U D (Couple U x y) z.
Theorem Upper_Bound_Couple_inv : forall x y z : U, Upper_Bound U D (Couple U x y) z -> Rel_of U D x z /\ Rel_of U D y z /\ In U (Carrier_of U D) z.
Theorem Upper_Bound_Singleton_intro : forall x z : U, In U (Carrier_of U D) x -> In U (Carrier_of U D) z -> x = z -> Upper_Bound U D (Singleton U x) z.
Theorem Upper_Bound_Singleton_inv : forall x z : U, Upper_Bound U D (Singleton U x) z -> Rel_of U D x z.
Theorem Non_empty_has_glb : Conditionally_complete U D -> forall X : Ensemble U, Included U X (Carrier_of U D) -> Inhabited U X -> exists binf : U, Glb U D X binf.
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.
Theorem Consistent_downward_stable : forall B : Ensemble U, Included U B (Carrier_of U D) -> Consistent U D B -> forall A : Ensemble U, Included U A B -> Consistent U D A.
Lemma Consistent_triple_intro : forall x y z : U, Compatible U D x y -> Compatible U D y z -> Compatible U D x z -> Consistent U D (Triple U x y z).