Hint Extern 1 (Reflexive (option_rel _)) =>
eapply option_rel_refl : typeclass_instances.
Global Instance option_map_rel:
Monotonic
(@option_map)
(forallr RA, forallr RB, (RA ++> RB) ++> option_rel RA ++> option_rel RB).
(** XXX: This does not fit any of our existing patterns, we should drop it for consistency or introduce a new convention and generalize this kind of lemmas. *)

(* Specifications: *)
Lemma option_rel_some_inv A B (R: rel A B) (x: option A) (y: option B) (a: A):
option_rel R x y ->
x = Some a ->
exists b,
y = Some b /\
R a b.