Structure > Setoid : Type := 
  {Carrier :> Type; Equal : Relation Carrier; Prf_equiv :> Equivalence Equal}.Structure > Setoid : Type := 
  {Carrier :> Type; Equal : Relation Carrier; Prf_equiv :> Equivalence Equal}.Structure > Setoid : Type := 
  {Carrier :> Type; Equal : Relation Carrier; Prf_equiv :> Equivalence Equal}.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.