I'm trying to prove that the *pullback* map $\phi^{\ast}$ induced by a map $\phi:M\rightarrow N$ commutes with the exterior derivative. Here is my attempt so far:

Let $\omega\;\in\Omega^{r}(N)$ and let $\phi :M\rightarrow N$. Also, let $\mathbf{v}\;\in T_{p}M$. Then, using that $df(\mathbf{v})=\mathbf{v}(f)$ and also, that $(\phi^{\ast}\omega)(\mathbf{v})=\omega (\phi_{\ast}\mathbf{v})$ where $\phi_{\ast}$ is the *pushforward* map induced by $\phi$, we have that $$\left(\phi^{\ast}df\right)(\mathbf{v})=df(\phi_{\ast}\mathbf{v})=(\phi_{\ast}\mathbf{v})(f)=\mathbf{v}(\phi^{\ast}f)=\left(d(\phi^{\ast}f)\right)(\mathbf{v})$$ Hence, as $\mathbf{v}\;\in T_{p}M$ was chosen arbitrarily, this implies that $$\phi^{\ast}df=d(\phi^{\ast}f).$$ Given this, we now consider an r-form $\omega\;\in\Omega^{r}(N)$ and expand in a coordinate basis $\lbrace dx^{\mu_{1}}\wedge\cdots\wedge dx^{\mu_{r}}\rbrace$ for $\Omega^{r}(N)$ such that $$\omega = f(x)dx^{\mu_{1}}\wedge\cdots\wedge dx^{\mu_{r}}$$ It then follows that $$d\omega=df\wedge dx^{\mu_{1}}\wedge\cdots\wedge dx^{\mu_{r}}$$ and also, $$\phi^{\ast}\omega = \phi^{\ast}(f(x)dx^{\mu_{1}}\wedge\cdots\wedge dx^{\mu_{r}})=(\phi^{\ast}f)\phi^{\ast}(dx^{\mu_{1}}\wedge\cdots\wedge dx^{\mu_{r}})$$ Therefore, $$\phi^{\ast}d\omega = \phi^{\ast}(df\wedge dx^{\mu_{1}}\wedge\cdots\wedge dx^{\mu_{r}})=\phi^{\ast}df\wedge\phi^{\ast}(dx^{\mu_{1}}\wedge\cdots\wedge dx^{\mu_{r}})\\=d(\phi^{\ast}f)\wedge \phi^{\ast}(dx^{\mu_{1}}\wedge\cdots\wedge dx^{\mu_{r}})\qquad\qquad\qquad\qquad\quad\,\,\\=d((\phi^{\ast}f)\;\phi^{\ast}(dx^{\mu_{1}}\wedge\cdots\wedge dx^{\mu_{r}}))\qquad\qquad\qquad\qquad\quad\,\,\\=d(\phi^{\ast}\omega)\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\quad\;$$ and so $\phi^{\ast}d\omega=d(\phi^{\ast}\omega)$.

Would this be correct at all?