Confusion about the notation of directional derivative From An Introduction to Manifolds by Tu:

$(1)$ Let $D_v = \sum v^i\frac{\partial}{\partial x^i}|_p$ where $v = [v^1, \dots, v^n]$ is a vector in $\Bbb R^n$ and $p = (p^1, \dots, p^n)$ a point in $\Bbb R^n.$  Then $D_v$ is a map that sends a function to a number $D_vf$.
Let $C^{\infty}_p$ be the set of all germs of $f$ at $p$, where a germ is an equivalence class of pairs $(f, U)$ where $U$ is a neighborhood of $p$ in $\Bbb R^n$ and $(f,U) $ is similar to $(g, V)$ if and only if there's an open subset $W \subset U \cap V$ containing $p$ such that $f=g$ when restricted to $W$.  Each $f$ is a $C^{\infty}$ function.

Tu then writes:

For each tangent vector at a point $p$ in $\Bbb R^n$, the directional derivative at $p$ gives a map of real vector spaces $$ (2)\space D_v: C^{\infty}_p \rightarrow \Bbb R.$$
$D_v$ is $\Bbb R$-linear and satisfies the Leibniz rule
$$D_v(fg) = (D_vf)g(p) + f(p)D_vg.$$

To me, this looks like Tu's giving two different definitions in $(1)$ and $(2)$.  The first is a function from a space of functions, and the second is a function from the set of all germs at $p$.
But if he's using the second definition, how is $D_v(f)$ defined?  $D_v$ should map an equivalence class $[(f,U)]$ to the real numbers, but I don't understand what the operation is on equivalence classes or how to show this equality on equivalence classes.
 A: Quote from Tu:
If $f$ is $C^\infty$ in a neighborhood of $p$ in $\mathbb R^n$ [comment: which means that $f$ is defined on some open neighborhood $U$ of $p$ such that $f : U \to \mathbb R$ is $C^\infty$] and $v$ is a tangent vector at $p$, the directional derivative of $f$ in the direction $v$ at $p$ is defined to be
$$D_vf = \lim_{t \to 0} \frac{f(c(t))− f (p)}{t} .$$
He then computes using the chain rule
$$D_vf = \sum_{i=1}^n v^i\frac{\partial f}{\partial x_i}(p)$$
and writes
$$D_v = \sum_{i=1}^n v^i\frac{\partial f}{\partial x_i}$$
for the functon that sends any $C^\infty$-function $f : U \to \mathbb R$, $U$ any open neighborhood of $p$, to the number $D_vf$.
In other words,  if $\Delta(p)$ denotes the set of all such $f$, we get a function
$$D_v : \Delta(p) \to \mathbb R .$$
On $\Delta(p)$ you have an obviuos scalar multiplication, but no reasonable addition. To understand this, consider $f : U \to \mathbb R$ and $g : V \to \mathbb R$. What should be their sum? You could define it on $U \cap V$ by pointwise addition. This yields a binary operation which is is associative and commutative and morever has a two-sided neutral element (the zero map $0 : \mathbb R^n \to \mathbb R$). Note that two-sided neutral elements are necessarily unique. Unfortunately $\Delta(p)$ is not a group because it lacks inverse elements. In fact, no $f : U \to \mathbb R$ with $U \subsetneqq \mathbb R^n$ has an inverse. A similar problem arises for the product of elements in $\Delta(p)$.
This is why germs are introduced as equivalence classes of functions in $\Delta(p)$. Tu shows that the set $C^\infty_p = \Delta(p)/\sim$, where $f : U \to \mathbb R$ and $g : V \to \mathbb R$ are equivalant ($f \sim g$) if $f\mid_{U \cap V} = g\mid_{U \cap V}$, inherits all operations (scalar multiplication, addition, multplication) from $\Delta(p)$ by performing these operations on representatives.
$C^\infty_p$ behaves much better than $\Delta(p)$: In fact, it is an $\mathbb R$-algebra.
Tu finally states that the directional derivative at $p$ [i.e. the function $D_v : \Delta(p) \to \mathbb R$] gives a map of real vector spaces [i.e. a linear map]
$$D_v : C^\infty_p  \to \mathbb R .$$
In fact this means that he defines
$$D_v([f]) = D_vf .$$
This is well-defined because the initial definition of $D_v$ as a limit yields the same result for $D_vf$ and $D_vg$ if $f\mid_{U \cap V} = g\mid_{U \cap V}$.
You are right - the two maps $D_v : \Delta(p) \to \mathbb R$ and $D_v : C^\infty_p  \to \mathbb R$ are not the same, although they have the same name. However, it should no longer be a source of confusion.
A: I read the question and all the comments above and here's what I find consistent. 
Tu's statement on page no. 12 of the book:

We write $C_p^{\infty}(\mathbb{R}^n)$, or simply $C_p^{\infty}$ if there is no possibility of confusion, for the set of all germs of $C^{\infty}$ functions on $\mathbb{R}^n$ at $p$. 

is, IMAO, the source of notational inconsistencies in later sections. For consistency, we may use $C_p^{\infty}(\mathbb{R}^n) \equiv C_p^{\infty}$ to denote any of the equivalence classes available in section 2.2 of the book. With this notation, an equivalence class $C_p^{\infty}$ is a set of functions and hence the map $$D_v: C_p^{\infty} \rightarrow \mathbb{R}$$ and the Leibniz rule in Eq. (2.2) make sense in section 2.3 of the book.
Of course, the map $D_v$ assigns a function $f(x) \in C_p^{\infty}$  to a real number $\mathbb{R}$.
Also $C_p^{\infty}$ is a $\mathbb{R}$-algebra as well.
