fact: Definition makeTotalOrder : forall (A : Type) (equiv : A -> A -> Prop) (le : A -> A -> Prop) (monotone antitone : (A -> A) -> Prop) (meet join : A -> A -> A), (forall x y : A, equiv x y <-> (le x y /\ le y x)) -> (forall x : A, le x x) -> (forall x y z : A, le x y -> le y z -> le x z) -> (forall x y : A, {le x y} + {le y x}) -> (forall f, monotone f <-> (forall x y, le x y -> le (f x) (f y))) -> (forall f, antitone f <-> (forall x y, le x y -> le (f y) (f x))) -> (forall x y : A, le x y -> equiv (meet x y) x) -> (forall x y : A, le y x -> equiv (meet x y) y) -> (forall x y : A, le y x -> equiv (join x y) x) -> (forall x y : A, le x y -> equiv (join x y) y) -> TotalOrder.
imports: Coq.Setoids.Setoid CoRN.order.Lattice