#[global]
Hint Extern 10 (@RewriteRelation ?A ?R) => equiv_rewrite_relation R : typeclass_instances.(** We rebind relational properties in separate classes to be able to overload each proof. *)

  Class Reflexive (R : relation A) :=
    reflexivity : forall x : A, R x x.(** We rebind relational properties in separate classes to be able to overload each proof. *)

  Class Reflexive (R : relation A) :=
    reflexivity : forall x : A, R x x.Definition complement (R : relation A) : relation A := fun x y => R x y -> False.

(* Specifications: *)
Lemma complement_inverse R : complement (flip R) = flip (complement R).