Hint Extern 1 (Reflexive (set_le _)) =>
eapply set_le_refl : typeclass_instances.
Global Instance set_le_compose `(RCompose) :
RCompose (set_le RAB) (set_le RBC) (set_le RAC).
(** We define [set_ge] as well. *)
Definition set_ge {A B} (R: rel A B): rel (A -> Prop) (B -> Prop) :=
fun sA sB => forall b, sB b -> exists a, sA a /\ R a b.
Global Instance set_ge_subrel {A B}:
Monotonic (@set_ge A B) (subrel ++> subrel).
Global Instance set_ge_subrel_params:
Params (@set_ge) 3.

(* Specifications: *)
Lemma set_ge_refl {A} (R : relation A) :
Reflexive R ->
Reflexive (set_ge R).