Leibniz rule implies that an operator only depends on the values of a function at a point Let $U$ be an open subset of $\mathbb R^n$ and let $\phi : C^\infty(U) \rightarrow C^\infty(U)$ be a linear map satisfying the Leibniz rule, $\phi(fg) = f\phi(g) + g\phi(f)$. I am trying to prove that if $f =g$ on a neighborhood of $x\in U$, then $\phi(f)(x) = \phi(g)(x)$. Since $f$ is linear, it will suffice to show that if $f \equiv 0$ in a neighborhood of $x$, then $\phi(f)(x) = 0$, but I cannot seem to find a way to do this. I tried using bump functions, but it did not seem to give me the result I need. Any suggestions?
Let $f\equiv 0$ in an open neighborhood $V$ of $x$. Take a smaller neighborhood $W$ of $x$ and take a bump function $\zeta$ such that 
$$ W \prec \zeta \prec V.$$
(This means that $\zeta$ takes values in $[0, 1]$, is identically $1$ in $W$ and is supported in $V$). Now consider the function $\overline{\zeta}=1-\zeta$. Since $\overline{\zeta}$ is identically $1$ outside $V$, we have 
$$f=\overline{\zeta}f.$$
Applying $\phi$ to both sides of this identity and using Leibniz Rule we get 
$$\phi(f)=\overline{\zeta}\phi(f)+\phi(\overline{\zeta})f, $$
which evaluated at $x$ yields
$$\phi(f)(x)=\overline{\zeta}(x)\phi(f)(x)+\phi(\overline{\zeta})(x)f(x)=0+0.$$
Well if $\phi$ is linear, to show that $\phi(0)=0$ is trivial:

$\phi(0) = \phi(0 + 0) = \phi(0)+\phi(0) \Rightarrow \phi(0)=0.$