Indeed, at each point we can define the coordinate vectors:
Thus each itself qualifies as a vector field in as long as the map is smooth. But we can check this using the coordinates on and the coordinate patch induced by on the tangent bundle. With this choice of source and target coordinates the map is just the inclusion of into the subspace
where the occurs in the th place. This is clearly smooth.
Now we know at each point that the coordinate vectors span the tangent space. So let’s take a vector field and break up the vector . We can write
which defines the as real-valued functions on . It’s also smooth; we know that is smooth by the definition of a vector field and the same choice of local coordinates as above, and passing from to is really just the projection onto the th component of in these local coordinates.
Since this now doesn’t really depend on we can write
which describes an arbitrary vector field as a linear combination of the coordinate vector fields times “scalar coefficient” functions , showing that these coordinate vector fields span the whole module . It should be clear that they’re independent, because if we had a nontrivial linear combination between them we’d have one between the coordinate vectors at at least one point, which we know doesn’t exist.
We should note here that just because is a free module — not a vector space since might have a weird structure — in the case where is a coordinate patch does not mean that all the are free modules over their respective rings of smooth functions. But in a sense every “sufficiently small” open region can be contained in some coordinate patch, and thus will always be a free module in this case.