Module Coq.Sets.Relations_3

Require Export Relations_1.
Require Export Relations_2.

Section Relations_3.
   Variable U: Type.
   Variable R: (Relation U).
   
   Definition coherent : U -> U -> Prop :=
      [x,y: U] (EXT z | (Rstar U R x z) /\ (Rstar U R y z)).
   
   Definition locally_confluent : U -> Prop :=
      [x: U] (y,z: U) (R x y) -> (R x z) -> (coherent y z).
   
   Definition Locally_confluent : Prop := (x: U) (locally_confluent x).
   
   Definition confluent : U -> Prop :=
      [x: U] (y,z: U) (Rstar U R x y) -> (Rstar U R x z) -> (coherent y z).
   
   Definition Confluent : Prop := (x: U) (confluent x).
   
   Inductive noetherian : U -> Prop :=
         definition_of_noetherian:
           (x: U) ((y: U) (R x y) -> (noetherian y)) -> (noetherian x).
   
   Definition Noetherian : Prop := (x: U) (noetherian x).
   
End Relations_3.
Hints Unfold coherent : sets v62.
Hints Unfold locally_confluent : sets v62.
Hints Unfold confluent : sets v62.
Hints Unfold Confluent : sets v62.
Hints Resolve definition_of_noetherian : sets v62.
Hints Unfold Noetherian : sets v62.


Index