constant R : nat → nat → Prop constant H : transitive R set_option pp.all true constant F : ∀ {A : Type*} ⦃a : A⦄ {b : A} (c : A) ⦃e : A⦄, A → A → A check H check F check F tt check F tt tt check F tt tt tt check H check F check F tt check F tt tt check F tt tt tt