When the next input cell is evaluated (f) is Flat for pattern matching, but not for evaluation.
It now seems like (f) has the same definition twice. We can evaluate ( f[x_,y_]=. ) once to get rid of one definition, but we need to use ( f[x_,y_]=. ) again to get rid of the second definition. Alternatively we could use Clear[f] and all definitions for (f) would be removed in one step.
Global`f

Global`f

Now (f) has no definitions.
Global`f
Created by Mathematica (May 16, 2004)