(* evite le clash d'univers entre le setoide des foncteur et SET *)
  
(***  SETOID  ***)

Structure > Setoid' : Type := 
  {Carrier' :> Type;
   Equal' : Relation Carrier';
   Prf_equiv' :> Equivalence Equal'}.(* evite le clash d'univers entre le setoide des foncteur et SET *)
  
(***  SETOID  ***)

Structure > Setoid' : Type := 
  {Carrier' :> Type;
   Equal' : Relation Carrier';
   Prf_equiv' :> Equivalence Equal'}.(* evite le clash d'univers entre le setoide des foncteur et SET *)
  
(***  SETOID  ***)

Structure > Setoid' : Type := 
  {Carrier' :> Type;
   Equal' : Relation Carrier';
   Prf_equiv' :> Equivalence Equal'}.(* evite le clash d'univers entre le setoide des foncteur et SET *)
  
(***  SETOID  ***)

Structure > Setoid' : Type := 
  {Carrier' :> Type;
   Equal' : Relation Carrier';
   Prf_equiv' :> Equivalence Equal'}.Infix "=_S'" := Equal' (at level 70).

(* Specifications: *)
Lemma Refl' : forall (S : Setoid') (x : S), x =_S' x.
Lemma Sym' : forall (S : Setoid') (x y : S), x =_S' y -> y =_S' x.
Lemma Trans' : forall (S : Setoid') (x y z : S), x =_S' y -> y =_S' z -> x =_S' z.