So I hope you're convinced that a directional derivative *should* satisfy the product rule. In that case, it's fine to postulate that a directional derivative must satisfy the product rule. The question then is: Why do we assume the Leibniz rule (+linearity) and nothing else?

I would suggest the answer is simply that it gives you the correct result. I.e., you might think that there are too many functionals* that satisfy the Leibniz rule, and we have to impose some other condition to ensure that our functionals are directional derivative operators. But one can prove that the set of functionals that satisfy the Leibniz rule has dimension equal to the dimension of the manifold, so you can be confident that you don't have too many.

Here's a different definition of the tangent space that I find more intuitive. If you have a point $P$ on your manifold $M$ and a smooth curve $\gamma:\mathbb{R} \to M$ such that $\gamma(0)=P$, then this curve defines a functional on functions around $P$. I.e., if $f$ is a smooth real-valued function defined in a neighborhood of $P$, then we get $f \circ \gamma:\mathbb{R} \to \mathbb{R}$. We can then differentiate this function at $0$ to get a number, which we denote $r_\gamma(f)$.

We can then define the tangent space to be the set of linear functionals (on the space of smooth functions on $M$ in a neighborhood of $P$) that arise from smooth paths, as above (i.e. the set of functionals of the form $r_\gamma$ for some $\gamma$). Notice that this purposely is not the set of paths; two paths give rise to the same functional iff they're tangent to each other. This is an equally valid way of defining the tangent space.

The reason the Leibniz rule suffices is then the fact that every functional that satisfies the Leibniz rule actually arises as the directional derivative with respect to some smooth path.


In fact, you can ignore functionals entirely. You can define the tangent space to be the set of smooth paths through $P$ modulo the following equivalence relation. Two paths are equivalent if in some coordinate patch around $P$, they have the same tangent vector (in the classical sense). Note that this is independent of coordinate path, so it's well-defined. The only reason we cannot just take tangent vectors in some coordinate patch is that this is not coordinate-independent, whereas these equivalence classes of paths are.

It just so happens two paths are equivalent in the sense I just described iff the define the same functional on the space of smooth functions on $M$, which is why we can use functionals to define the tangent space, and this is the same as the definition above. But I find the definition in terms of equivalence classes of paths to be the most natural.

*By a functional, I mean a linear map from the vector space of smooth real-valued functions defined in a neighborhood of $P$ to $\mathbb{R}$ that depends only on the values of the function in a neighborhood of $P$