(* Specifications: *)
Theorem Rstar_imp_coherent : forall (U : Type) (R : Relation U) (x y : U), Rstar U R x y -> coherent U R x y.
Theorem coherent_symmetric : forall (U : Type) (R : Relation U), Symmetric U (coherent U R).
Theorem Strong_confluence : forall (U : Type) (R : Relation U), Strongly_confluent U R -> Confluent U R.
Theorem Strong_confluence_direct : forall (U : Type) (R : Relation U), Strongly_confluent U R -> Confluent U R.
Theorem Noetherian_contains_Noetherian : forall (U : Type) (R R' : Relation U), Noetherian U R -> contains U R R' -> Noetherian U R'.
Theorem Newman : forall (U : Type) (R : Relation U), Noetherian U R -> Locally_confluent U R -> Confluent U R.
Theorem trivial : forall A : Prop, A -> A.
Theorem and_commutative : forall A B : Prop, A /\ B -> B /\ A.
Theorem or_commutative : forall A B : Prop, A \/ B -> B \/ A.
Theorem mp : forall A B : Prop, A -> (A -> B) -> B.
Theorem S : forall A B C : Prop, (A -> B -> C) -> (A -> B) -> A -> C.
Theorem Praeclarum : forall x y z t : Prop, (x -> z) /\ (y -> t) -> x /\ y -> z /\ t.
Theorem resolution : forall (p q : Type -> Prop) (a : Type), p a -> (forall x : Type, p x -> q x) -> q a.
Theorem Witnesses : forall (a b : Type) (p : Type -> Prop), p a \/ p b -> exists x : Type, p x.
Theorem Simple : forall (A : Set) (R : A -> A -> Prop), (forall x y z : A, R x y /\ R y z -> R x z) -> (forall x y : A, R x y -> R y x) -> forall x : A, (exists y : A, R x y) -> R x x.
Theorem not_not : forall a : Prop, a -> ~ ~ a.
Theorem mini_cases : forall x y : Prop, (x \/ ~ y) /\ y -> x.
Theorem not_not_converse : forall a : Prop, ~ ~ a -> a.
Theorem not_quite_classic : forall a : Prop, ~ ~ (a \/ ~ a).
Theorem Peirce : forall A B : Prop, ((((A -> B) -> A) -> A) -> B) -> B.
Theorem trivial : forall A : Prop, A -> A.
Theorem and_commutative : forall A B : Prop, A /\ B -> B /\ A.
Theorem or_commutative : forall A B : Prop, A \/ B -> B \/ A.
Theorem mp : forall A B : Prop, A -> (A -> B) -> B.
Theorem S : forall A B C : Prop, (A -> B -> C) -> (A -> B) -> A -> C.
Theorem Praeclarum : forall x y z t : Prop, (x -> z) /\ (y -> t) -> x /\ y -> z /\ t.
Theorem resolution : forall (p q : Type -> Prop) (a : Type), p a -> (forall x : Type, p x -> q x) -> q a.
Theorem Witnesses : forall (a b : Type) (p : Type -> Prop), p a \/ p b -> exists x : Type, p x.
Theorem Simple : forall (A : Set) (R : A -> A -> Prop), (forall x y z : A, R x y /\ R y z -> R x z) -> (forall x y : A, R x y -> R y x) -> forall x : A, (exists y : A, R x y) -> R x x.
Theorem not_not : forall a : Prop, a -> ~ ~ a.
Theorem mini_cases : forall x y : Prop, (x \/ ~ y) /\ y -> x.
Theorem not_not_converse : forall a : Prop, ~ ~ a -> a.
Theorem not_quite_classic : forall a : Prop, ~ ~ (a \/ ~ a).
Theorem Rstar_reflexive : forall (U : Type) (R : Relation U), Reflexive U (Rstar U R).
Theorem Rplus_contains_R : forall (U : Type) (R : Relation U), contains U (Rplus U R) R.
Theorem Rstar_contains_R : forall (U : Type) (R : Relation U), contains U (Rstar U R) R.
Theorem Rstar_contains_Rplus : forall (U : Type) (R : Relation U), contains U (Rstar U R) (Rplus U R).
Theorem Rstar_transitive : forall (U : Type) (R : Relation U), Transitive U (Rstar U R).
Theorem Rstar_cases : forall (U : Type) (R : Relation U) (x y : U), Rstar U R x y -> x = y :>U \/ (exists u : U, R x u /\ Rstar U R u y).
Theorem Rstar_equiv_Rstar1 : forall (U : Type) (R : Relation U), same_relation U (Rstar U R) (Rstar1 U R).
Theorem Rsym_imp_Rstarsym : forall (U : Type) (R : Relation U), Symmetric U R -> Symmetric U (Rstar U R).
Theorem Sstar_contains_Rstar : forall (U : Type) (R S : Relation U), contains U (Rstar U S) R -> contains U (Rstar U S) (Rstar U R).
Theorem star_monotone : forall (U : Type) (R S : Relation U), contains U S R -> contains U (Rstar U S) (Rstar U R).
Theorem RstarRplus_RRstar : forall (U : Type) (R : Relation U) (x y z : U), Rstar U R x y -> Rplus U R y z -> exists u : U, R x u /\ Rstar U R u z.
Theorem Lemma1 : forall (U : Type) (R : Relation U), Strongly_confluent U R -> forall x b : U, Rstar U R x b -> forall a : U, R x a -> exists z : U, Rstar U R a z /\ R b z.
Theorem drinker's_theorem : (forall P : Prop, P \/ ~ P) -> forall (U : Set) (x : U) (Q : U -> Prop), exists x : U, Q x -> forall x : U, Q x.
Theorem Pairs_are_enough_finite_case : Cpo U D -> (forall x y : U, Compatible U D x y -> exists bsup : U, Lub U D (Couple U x y) bsup) -> forall X : Ensemble U, Finite U X -> Included U X (Carrier_of U D) -> (exists maj : U, Upper_Bound U D X maj) -> exists bsup : U, Lub U D X bsup.
Theorem Pairs_are_enough : Cpo U D -> (forall x y : U, Compatible U D x y -> exists bsup : U, Lub U D (Couple U x y) bsup) -> Conditionally_complete U D.
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 Empty_set_has_lub : Cpo U D -> exists bsup : U, Lub U D (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 Compatible_is_reflexive : Reflexive U (Compatible U D).
Theorem Couple_is_symmetric : forall x y : U, Couple U x y = Couple U y x :>Ensemble U.
Theorem Compatible_is_symmetric : Symmetric U (Compatible U D).