Section Relations.
Variable U : Type.
Definition Relation := U -> U -> Prop.
Variable R : Relation.
Definition Reflexive : Prop := forall x : U, R x x.
Definition Transitive : Prop := forall x y z : U, R x y -> R y z -> R x z.
Definition Antisymmetric : Prop := forall x y : U, R x y /\ R y x -> x = y.
Definition Order : Prop := (Reflexive /\ Transitive) /\ Antisymmetric.
Definition Symmetric : Prop := forall x y : U, R x y -> R y x.
Definition Equivalence : Prop := (Reflexive /\ Symmetric) /\ Transitive.
Definition PER : Prop := Symmetric /\ Transitive.
End Relations.
Hint Unfold Reflexive.
Hint Unfold Transitive.
Hint Unfold Antisymmetric.
Hint Unfold Order.
Hint Unfold Symmetric.
Hint Unfold Equivalence.
Hint Unfold PER.

Theorem Equiv_from_order :
forall (U : Type) (R : Relation U),
Order U R -> Equivalence U (fun x y : U => R x y /\ R y x).