Hint Extern 1 (RElim (rel_all _) _ _ _ _) =>
eapply rel_all_relim; eexists : typeclass_instances.
Definition rel_ex {A B C} (R: C -> rel A B): rel A B :=
fun x y => exists c, R c x y.
Notation "'rexists' x .. y , p" :=
(rel_ex (fun x => .. (rel_ex (fun y => p%rel)) ..))
(at level 200, x binder, right associativity)
: rel_scope.

Lemma rel_ex_rintro {A B C} (R: C -> rel A B) c m n:
RExists (R c m n) (rel_ex R) m n.