Generalizable Variables A.(** A setoid wraps an equivalence. *)

Class Setoid A := {
  equiv : relation A ;
  #[global] setoid_equiv :: Equivalence equiv }.(** A setoid wraps an equivalence. *)

Class Setoid A := {
  equiv : relation A ;
  #[global] setoid_equiv :: Equivalence equiv }.(** A setoid wraps an equivalence. *)

Class Setoid A := {
  equiv : relation A ;
  #[global] setoid_equiv :: Equivalence equiv }.

Lemma setoid_trans `(sa : Setoid A) : Transitive equiv.