Library CoursDeCoq.Relations_1



Section Relations_1.
   Variable U : Type.

   Definition Relation := UUProp.
   Variable R : Relation.

   Definition Reflexive : Prop := x : U, R x x.

   Definition Transitive : Prop := x y z : U, R x yR y zR x z.

   Definition Symmetric : Prop := x y : U, R x yR y x.

   Definition Antisymmetric : Prop :=
      x y : U, R x yR y xx = y :>U.

   Definition contains (R R' : Relation) : Prop :=
      x y : U, R' x yR x y.

   Definition same_relation (R R' : Relation) : Prop :=
     contains R R' contains R' R.

   Inductive Preorder : Prop :=
       Definition_of_preorder : ReflexiveTransitivePreorder.

   Inductive Order : Prop :=
       Definition_of_order :
         ReflexiveTransitiveAntisymmetricOrder.

   Inductive Equivalence : Prop :=
       Definition_of_equivalence :
         ReflexiveTransitiveSymmetricEquivalence.

   Inductive PER : Prop :=
       Definition_of_PER : SymmetricTransitivePER.

End Relations_1.
Hint Unfold Reflexive.
Hint Unfold Transitive.
Hint Unfold Antisymmetric.
Hint Unfold Symmetric.
Hint Unfold contains.
Hint Unfold same_relation.
Hint Resolve Definition_of_preorder.
Hint Resolve Definition_of_order.
Hint Resolve Definition_of_equivalence.
Hint Resolve Definition_of_PER.