Solution (source code)

= Solution

Realize the <pullback vector bundle> as
$$
\phi^*E=\{(p,v)\in M'\times E:\phi(p)=\pi(v)\},\qquad
\pi'(p,v)=p.
$$
Its fibre over $p$ is canonically $E_{\phi(p)}$, with the same <vector space> operations. If a <vector bundle trivialization> over $U\subset M$ is $\tau_U(v)=(\pi(v),\widehat v)$, give the <pullback vector bundle> the local trivialization
$$
T_U:(\pi')^{-1}(\phi^{-1}U)\longrightarrow\phi^{-1}U\times\mathbb R^r,
\qquad T_U(p,v)=(p,\widehat v).
$$
Declare these maps to be local homeomorphisms and use <coordinate charts> on $M'$ to obtain a <smooth atlas> on the total space. On overlaps the <smooth transition maps> are $(p,w)\mapsto(p,h(\phi(p))w)$, hence smooth and fibrewise linear. They satisfy the same cocycle identities as the original transition maps. This gives a well-defined smooth <vector bundle>, with smooth projection and rank $r$. It also gives the <subspace topology> inherited from $M'\times E$: inside each product $\phi^{-1}(U)\times\pi^{-1}(U)$ the defining condition is the graph of $\phi$ in the base coordinates. Thus the total space is Hausdorff and second countable, as required for a <smooth manifold>.

For a smooth <section of a vector bundle> $s$ over $U$, its pulled-back section is more precisely $p\mapsto(p,s(\phi(p)))$. If $s$ has component column $u:U\to\mathbb R^r$ in the original <vector bundle trivialization>, its component column in $T_U$ is $u\circ\phi$, which is smooth. \b[The pullback is a smooth rank-$r$ vector bundle, and every local section pulls back smoothly.]