fact: Definition ofun_hrel A B (f : B -> option A) : A -> B -> Type := fun a b => f b = Some a.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat div seq zmodp) mathcomp(path choice fintype tuple finset bigop)