Solution (source code)

= Solution

The expression $d\phi(X)$ is in general a <vector field along a map>, rather than a <vector field> on $M$. Its intended meaning in the required formula is pointwise evaluation of the <vector-bundle-valued differential form> $\nabla s$:
$$
\bigl(\nabla'_{X}(\phi^*s)\bigr)_p
=(\nabla s)_{\phi(p)}(d\phi_pX_p),
$$
using the canonical identification $(\phi^*E)_p=E_{\phi(p)}$. This interpretation works for every <smooth map>, including a constant map or a map with self-intersections.

Choose a <frame of a vector bundle> over $U$, written as a row $e=(e_1,\ldots,e_r)$. Define its <connection one-form> $\Omega$ by
$$
\nabla(eu)=e(du+\Omega u)
$$
for component columns $u$. The pulled-back frame $e^\phi=(\phi^*e_1,\ldots,\phi^*e_r)$ is a <frame of a vector bundle> over $\phi^{-1}U$. For any component column $v$ of <smooth functions> on that open set, define
$$
\boxed{\nabla'(e^\phi v)=e^\phi\bigl(dv+(\phi^*\Omega)v\bigr).}
$$
Here the matrix entries of $\phi^*\Omega$ are ordinary <pullbacks of a differential form>. The displayed operator is linear and satisfies the <Leibniz rule>, hence is locally a <connection on a vector bundle>.

To prove these local operators glue, change the original <frame of a vector bundle> to $\widetilde e=eh$. Expanding $\nabla(eh u)$ gives the <change of frame of a vector-bundle connection>
$$
\widetilde\Omega=h^{-1}\Omega h+h^{-1}dh.
$$
The <pullback of a differential form> and the <chain rule> give
$$
\phi^*\widetilde\Omega
=(h\circ\phi)^{-1}(\phi^*\Omega)(h\circ\phi)
+(h\circ\phi)^{-1}d(h\circ\phi).
$$
This is precisely the required transformation law for the pulled-back frame $\widetilde e^\phi=e^\phi(h\circ\phi)$. Thus the definitions agree and give a global <pullback connection>.

For $s=eu$, substitute $v=u\circ\phi$ in the defining formula and use $d(u\circ\phi)(X)=du(d\phi(X))$. This proves the required identity. Conversely that identity fixes $\nabla'_X(\phi^*e_a)$; the <Leibniz rule> then fixes the derivative of every $\sum_a v^a\phi^*e_a$, proving uniqueness. If the identity is initially imposed only on global <sections of a vector bundle>, multiply each local frame section by a <smooth bump function> equal to one near the point in question and supported in $U$, and extend by zero. These global sections agree with the frame locally, so the same uniqueness argument applies. \b[The pullback connection exists and is unique.]