Solution (source code)

= Solution

A smooth real <vector bundle> of <vector bundle rank> $r$ consists of a <smooth manifold> $E$, a smooth projection $\pi:E\to M$, real <vector space> structures on its fibers, and local <vector bundle trivializations>
$$
\Phi_U:\pi^{-1}(U)\longrightarrow U\times\mathbb R^r
$$
that commute with projection to $U$ and are <linear isomorphisms> on each fiber. On overlaps the change of trivialization is $(p,v)\mapsto(p,g_{VU}(p)v)$, with $g_{VU}:U\cap V\to GL_r(\mathbb R)$ smooth into the <general linear group>. The usual <smooth manifold> convention is <Hausdorff> and <second countable>.

For an $n$-dimensional $M$, take the disjoint union of its <tangent spaces>. A <manifold chart> $x:U\to\mathbb R^n$ supplies
$$
\Phi_x(v_p)=(p,dx_p(v_p)),\qquad
\widetilde\Phi_x(v_p)=(x(p),dx_p(v_p)).
$$
If $y$ is another chart, the resulting change of coordinates on the total space is
$$
(a,v)\longmapsto\bigl(y\circ x^{-1}(a),D(y\circ x^{-1})_a v\bigr).
$$
This is smooth, its inverse is the same construction with $x,y$ exchanged, and the fiber map is invertible and linear. Thus these charts define a smooth structure with the required bundle trivializations.

For completeness, the topology so constructed is <Hausdorff>: different base points can be separated downstairs, while vectors over one point can be separated inside one product chart. A countable base atlas for $M$ and countable bases for its products with $\mathbb R^n$ give <second countability>. Hence the total space is genuinely a <smooth manifold>, not just a collection of fibers. We obtain
$$
\boxed{TM\longrightarrow M\text{ is a smooth vector bundle of rank }n.}
$$