(* Several bugs: - wrong env in pose_all_metas_as_evars leading to out of scope instance of evar - check that metas posed as evars in pose_all_metas_as_evars were resolved was not done *) Axiom functional_extensionality_dep : forall {A : Type} {B : A -> Type} (f g : forall x : A, B x), (forall x : A, f x = g x) -> f = g. Goal forall A B C (f g : forall (x : A) (y : B x), C x y), forall x:A, (forall x y, f x y = g x y) -> True. Proof. intros A B C f g x H. Fail apply @functional_extensionality_dep in H. Fail apply functional_extensionality_dep in H. eapply functional_extensionality_dep in H. Abort. Goal forall A B C (f g : forall (x : A) (y : B x), C x y), forall x:A, (forall x y, f x y = g x y) -> True. Proof. intros A B C f g x H. specialize (H x). apply functional_extensionality_dep in H.