MathClasses.misc.workarounds

Require Import canonical_names.
Require Import Equivalence Morphisms RelationClasses.

Remove Hints Equivalence_Reflexive
  equiv_reflexive
  Equivalence_Symmetric
  equiv_symmetric
  Equivalence_Transitive
  equiv_transitive : typeclass_instances.

Hint Extern 0 (Reflexive _) ⇒ apply @Equivalence_Reflexive : typeclass_instances.
Hint Extern 0 (Symmetric _) ⇒ apply @Equivalence_Symmetric : typeclass_instances.
Hint Extern 0 (Transitive _) ⇒ apply @Equivalence_Transitive : typeclass_instances.


Instance equivalence_proper `{Equivalence A R} : Proper (R ==> R ==> iff) R | 0 := _.