Proof @FunctionalExtensionality.functional_extensionality_dep.
(** and, as a corollary, functional extensionality for non-dependent functions: *)

(* Specifications: *)
Lemma functional_extensionality:
forall {A B: Type} (f g : A -> B), (forall x, f x = g x) -> f = g.
Lemma functional_extensionality:
forall {A B: Type} (f g : A -> B), (forall x, f x = g x) -> f = g.