fact: Definition bassert_hylo {M : failMonad} (A B : UU0) (f : B -> M (A * B)%type) (p : pred B) (r : forall p f, B -> B -> bool) := forall b, f b = bassert (fun z => r p f z.2 b) (f b).
imports: mathcomp(all_ssreflect) imonae_lib HB(structures) ihierarchy imonad_lib Equations(Equations)