Section foo.
Variable f : nat -> nat.
Definition g := f.
Variable lem : g 0 = 0.
Goal f 0 = 0.
Print Equivalent Keys.
End foo.
Definition G {A} (f : A -> A -> A) (x : A) := f x x.

Lemma list_foo A (l : list A) : G (@app A) (l ++ nil) = G (@app A) l.