[proofplan]
We prove the identity pointwise. At a point $p \in M$, both sides are alternating $(k+\ell)$-covectors on $T_pM$, so it suffices to evaluate them on arbitrary tangent vectors $v_1,\dots,v_{k+\ell} \in T_pM$. The definition of pullback sends each input vector through the differential $d\varphi_p$, and the definition of the wedge product is the same antisymmetrised sum on both sides.
[/proofplan]
[step:Evaluate the pullback of the wedge product at an arbitrary point]
Fix a point $p \in M$ and tangent vectors $v_1,\dots,v_{k+\ell} \in T_pM$. Let
\begin{align*}
d\varphi_p: T_pM \to T_{\varphi(p)}N
\end{align*}
be the differential of $\varphi$ at $p$.
Let $\operatorname{Sh}(k,\ell)$ denote the set of $(k,\ell)$-shuffles, that is, the set of permutations $\sigma$ of $\{1,\dots,k+\ell\}$ such that
\begin{align*}
\sigma(1) < \cdots < \sigma(k),
\qquad
\sigma(k+1) < \cdots < \sigma(k+\ell).
\end{align*}
For $\sigma \in \operatorname{Sh}(k,\ell)$, let $\operatorname{sgn}(\sigma) \in \{-1,1\}$ denote its sign.
Using the definition of pullback for the $(k+\ell)$-form $\alpha \wedge \beta$, we obtain
\begin{align*}
\bigl(\varphi^*(\alpha \wedge \beta)\bigr)_p(v_1,\dots,v_{k+\ell})
&=
(\alpha \wedge \beta)_{\varphi(p)}
\bigl(d\varphi_p(v_1),\dots,d\varphi_p(v_{k+\ell})\bigr).
\end{align*}
Applying the shuffle definition of the wedge product gives
\begin{align*}
\bigl(\varphi^*(\alpha \wedge \beta)\bigr)_p(v_1,\dots,v_{k+\ell})
&=
\sum_{\sigma \in \operatorname{Sh}(k,\ell)}
\operatorname{sgn}(\sigma)\,
\alpha_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(1)}),\dots,d\varphi_p(v_{\sigma(k)})\bigr) \\
&\qquad\qquad\cdot
\beta_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(k+1)}),\dots,d\varphi_p(v_{\sigma(k+\ell)})\bigr).
\end{align*}
[guided]
We want to compare two differential forms on $M$. Since differential forms are defined pointwise as alternating covectors, we fix a point $p \in M$ and arbitrary tangent vectors $v_1,\dots,v_{k+\ell} \in T_pM$.
The pullback of a differential form is defined by applying the differential of the map to each input vector. For the smooth map $\varphi: M \to N$, the relevant [linear map](/page/Linear%20Map) at $p$ is
\begin{align*}
d\varphi_p: T_pM \to T_{\varphi(p)}N.
\end{align*}
Therefore
\begin{align*}
\bigl(\varphi^*(\alpha \wedge \beta)\bigr)_p(v_1,\dots,v_{k+\ell})
&=
(\alpha \wedge \beta)_{\varphi(p)}
\bigl(d\varphi_p(v_1),\dots,d\varphi_p(v_{k+\ell})\bigr).
\end{align*}
Now expand the wedge product. Let $\operatorname{Sh}(k,\ell)$ be the set of permutations $\sigma$ of $\{1,\dots,k+\ell\}$ preserving the order of the first $k$ selected inputs and the last $\ell$ selected inputs:
\begin{align*}
\sigma(1) < \cdots < \sigma(k),
\qquad
\sigma(k+1) < \cdots < \sigma(k+\ell).
\end{align*}
For each such permutation, $\operatorname{sgn}(\sigma)$ denotes its sign. The [shuffle formula for the wedge product](/theorems/3558) gives
\begin{align*}
\bigl(\varphi^*(\alpha \wedge \beta)\bigr)_p(v_1,\dots,v_{k+\ell})
&=
\sum_{\sigma \in \operatorname{Sh}(k,\ell)}
\operatorname{sgn}(\sigma)\,
\alpha_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(1)}),\dots,d\varphi_p(v_{\sigma(k)})\bigr) \\
&\qquad\qquad\cdot
\beta_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(k+1)}),\dots,d\varphi_p(v_{\sigma(k+\ell)})\bigr).
\end{align*}
This is the expression we will compare with the wedge product of the two pulled-back forms.
[/guided]
[/step]
[step:Expand the wedge product of the pulled-back forms]
Using the shuffle definition of the wedge product on $T_pM$, we have
\begin{align*}
\bigl(\varphi^*\alpha \wedge \varphi^*\beta\bigr)_p(v_1,\dots,v_{k+\ell})
&=
\sum_{\sigma \in \operatorname{Sh}(k,\ell)}
\operatorname{sgn}(\sigma)\,
(\varphi^*\alpha)_p(v_{\sigma(1)},\dots,v_{\sigma(k)}) \\
&\qquad\qquad\cdot
(\varphi^*\beta)_p(v_{\sigma(k+1)},\dots,v_{\sigma(k+\ell)}).
\end{align*}
By the definition of pullback for the $k$-form $\alpha$ and the $\ell$-form $\beta$,
\begin{align*}
(\varphi^*\alpha)_p(v_{\sigma(1)},\dots,v_{\sigma(k)})
&=
\alpha_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(1)}),\dots,d\varphi_p(v_{\sigma(k)})\bigr), \\
(\varphi^*\beta)_p(v_{\sigma(k+1)},\dots,v_{\sigma(k+\ell)})
&=
\beta_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(k+1)}),\dots,d\varphi_p(v_{\sigma(k+\ell)})\bigr).
\end{align*}
Substituting these identities into the preceding sum gives
\begin{align*}
\bigl(\varphi^*\alpha \wedge \varphi^*\beta\bigr)_p(v_1,\dots,v_{k+\ell})
&=
\sum_{\sigma \in \operatorname{Sh}(k,\ell)}
\operatorname{sgn}(\sigma)\,
\alpha_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(1)}),\dots,d\varphi_p(v_{\sigma(k)})\bigr) \\
&\qquad\qquad\cdot
\beta_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(k+1)}),\dots,d\varphi_p(v_{\sigma(k+\ell)})\bigr).
\end{align*}
[guided]
Now we compute the right-hand side. The wedge product $\varphi^*\alpha \wedge \varphi^*\beta$ is formed after pulling back each form to $M$, so its value at $p$ is computed using tangent vectors in $T_pM$:
\begin{align*}
\bigl(\varphi^*\alpha \wedge \varphi^*\beta\bigr)_p(v_1,\dots,v_{k+\ell})
&=
\sum_{\sigma \in \operatorname{Sh}(k,\ell)}
\operatorname{sgn}(\sigma)\,
(\varphi^*\alpha)_p(v_{\sigma(1)},\dots,v_{\sigma(k)}) \\
&\qquad\qquad\cdot
(\varphi^*\beta)_p(v_{\sigma(k+1)},\dots,v_{\sigma(k+\ell)}).
\end{align*}
Each pulled-back factor is evaluated by applying $d\varphi_p$ to each input vector before evaluating the original form on $N$. Thus
\begin{align*}
(\varphi^*\alpha)_p(v_{\sigma(1)},\dots,v_{\sigma(k)})
&=
\alpha_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(1)}),\dots,d\varphi_p(v_{\sigma(k)})\bigr), \\
(\varphi^*\beta)_p(v_{\sigma(k+1)},\dots,v_{\sigma(k+\ell)})
&=
\beta_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(k+1)}),\dots,d\varphi_p(v_{\sigma(k+\ell)})\bigr).
\end{align*}
Substitution gives
\begin{align*}
\bigl(\varphi^*\alpha \wedge \varphi^*\beta\bigr)_p(v_1,\dots,v_{k+\ell})
&=
\sum_{\sigma \in \operatorname{Sh}(k,\ell)}
\operatorname{sgn}(\sigma)\,
\alpha_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(1)}),\dots,d\varphi_p(v_{\sigma(k)})\bigr) \\
&\qquad\qquad\cdot
\beta_{\varphi(p)}
\bigl(d\varphi_p(v_{\sigma(k+1)}),\dots,d\varphi_p(v_{\sigma(k+\ell)})\bigr).
\end{align*}
This is exactly the same shuffle sum obtained from pulling back $\alpha \wedge \beta$ directly.
[/guided]
[/step]
[step:Conclude equality of the differential forms]
The two computations give the same value for every $p \in M$ and every $v_1,\dots,v_{k+\ell} \in T_pM$:
\begin{align*}
\bigl(\varphi^*(\alpha \wedge \beta)\bigr)_p(v_1,\dots,v_{k+\ell})
=
\bigl(\varphi^*\alpha \wedge \varphi^*\beta\bigr)_p(v_1,\dots,v_{k+\ell}).
\end{align*}
Therefore the two alternating $(k+\ell)$-covectors agree at each point $p \in M$. Hence
\begin{align*}
\varphi^*(\alpha \wedge \beta)
=
\varphi^*\alpha \wedge \varphi^*\beta
\end{align*}
as elements of $\Omega^{k+\ell}(M)$.
[/step]