[proofplan]
The proof is a formal consequence of the contravariant functoriality of pullback on differential forms. Let $\psi := \varphi^{-1}$ be the inverse diffeomorphism. Pullback by $\varphi$ and pullback by $\psi$ induce maps on de Rham cohomology because pullback commutes with the [exterior derivative](/theorems/1525). The composition identities $\varphi \circ \psi = \operatorname{id}_N$ and $\psi \circ \varphi = \operatorname{id}_M$ then imply that the induced maps are inverse to each other.
[/proofplan]
[step:Pass from pullback of forms to pullback on cohomology]
Let $\Omega^k(M)$ and $\Omega^k(N)$ denote the real vector spaces of smooth differential $k$-forms on $M$ and $N$, respectively. Let
\begin{align*}
d_M^k: \Omega^k(M) \to \Omega^{k+1}(M),
\qquad
d_N^k: \Omega^k(N) \to \Omega^{k+1}(N)
\end{align*}
denote the exterior derivative in degree $k$.
The pullback by $\varphi$ is the [linear map](/page/Linear%20Map)
\begin{align*}
\varphi^*: \Omega^k(N) &\to \Omega^k(M).
\end{align*}
It commutes with the exterior derivative:
\begin{align*}
d_M^k(\varphi^*\omega) = \varphi^*(d_N^k\omega)
\end{align*}
for every $\omega \in \Omega^k(N)$. Hence if $\omega \in \ker d_N^k$, then $\varphi^*\omega \in \ker d_M^k$. To check exact forms, use the standard convention that there are no nonzero exact $0$-forms, equivalently $\operatorname{im} d_N^{-1} = \{0\}$. If $k = 0$ and $\omega = 0$, then $\varphi^*\omega = 0$, so exactness is preserved. If $k \geq 1$ and $\omega = d_N^{k-1}\eta$ for some $\eta \in \Omega^{k-1}(N)$, then
\begin{align*}
\varphi^*\omega
=
\varphi^*(d_N^{k-1}\eta)
=
d_M^{k-1}(\varphi^*\eta).
\end{align*}
Therefore pullback sends closed forms to closed forms and exact forms to exact forms in every degree $k \geq 0$, so it induces a well-defined linear map
\begin{align*}
\varphi^*: H^k_{\mathrm{dR}}(N) &\to H^k_{\mathrm{dR}}(M),\\
[\omega] &\mapsto [\varphi^*\omega].
\end{align*}
[guided]
We first check that the map in the theorem is actually defined on cohomology classes, not merely on differential forms. Let $\Omega^k(M)$ and $\Omega^k(N)$ be the real vector spaces of smooth differential $k$-forms on $M$ and $N$. Let
\begin{align*}
d_M^k: \Omega^k(M) \to \Omega^{k+1}(M),
\qquad
d_N^k: \Omega^k(N) \to \Omega^{k+1}(N)
\end{align*}
be the exterior derivative in degree $k$.
Pullback by the smooth map $\varphi: M \to N$ gives a linear map
\begin{align*}
\varphi^*: \Omega^k(N) &\to \Omega^k(M).
\end{align*}
The key compatibility is that pullback commutes with the exterior derivative:
\begin{align*}
d_M^k(\varphi^*\omega) = \varphi^*(d_N^k\omega)
\end{align*}
for every $\omega \in \Omega^k(N)$.
This identity has exactly the two consequences needed for de Rham cohomology. First, if $\omega$ is closed, meaning $d_N^k\omega = 0$, then
\begin{align*}
d_M^k(\varphi^*\omega)
=
\varphi^*(d_N^k\omega)
=
\varphi^*(0)
=
0,
\end{align*}
so $\varphi^*\omega$ is closed. Second, we check exact forms with the degree $0$ case separated. In degree $0$, the exact forms are only $0$ because $\operatorname{im} d_N^{-1} = \{0\}$ by convention, and $\varphi^*0 = 0$. In degree $k \geq 1$, if $\omega$ is exact, meaning $\omega = d_N^{k-1}\eta$ for some $\eta \in \Omega^{k-1}(N)$, then
\begin{align*}
\varphi^*\omega
=
\varphi^*(d_N^{k-1}\eta)
=
d_M^{k-1}(\varphi^*\eta),
\end{align*}
so $\varphi^*\omega$ is exact. Thus changing a representative of a cohomology class by an exact form changes its pullback by an exact form in every degree $k \geq 0$. Therefore the formula
\begin{align*}
\varphi^*: H^k_{\mathrm{dR}}(N) &\to H^k_{\mathrm{dR}}(M),\\
[\omega] &\mapsto [\varphi^*\omega]
\end{align*}
defines a well-defined linear map on cohomology.
[/guided]
[/step]
[step:Construct the candidate inverse from the inverse diffeomorphism]
Since $\varphi: M \to N$ is a diffeomorphism, there exists a smooth inverse map
\begin{align*}
\psi := \varphi^{-1}: N \to M.
\end{align*}
By the same construction, pullback by $\psi$ induces a linear map
\begin{align*}
\psi^*: H^k_{\mathrm{dR}}(M) \to H^k_{\mathrm{dR}}(N),
\qquad
[\alpha] \mapsto [\psi^*\alpha].
\end{align*}
We will show that this map is the inverse of $\varphi^*$.
[/step]
[step:Show the two induced pullbacks compose to the identity]
Let $[\omega] \in H^k_{\mathrm{dR}}(N)$, represented by a closed form $\omega \in \Omega^k(N)$. Using the contravariant composition rule for pullbacks of differential forms,
\begin{align*}
\psi^*(\varphi^*\omega)
=
(\varphi \circ \psi)^*\omega.
\end{align*}
Since $\psi = \varphi^{-1}$, we have $\varphi \circ \psi = \operatorname{id}_N$. Pullback by the identity map is the identity on $\Omega^k(N)$, so
\begin{align*}
\psi^*(\varphi^*\omega)
=
(\operatorname{id}_N)^*\omega
=
\omega.
\end{align*}
Passing to cohomology classes gives
\begin{align*}
\psi^*(\varphi^*[\omega]) = [\omega].
\end{align*}
Thus $\psi^* \circ \varphi^* = \operatorname{id}_{H^k_{\mathrm{dR}}(N)}$.
Similarly, let $[\alpha] \in H^k_{\mathrm{dR}}(M)$, represented by a closed form $\alpha \in \Omega^k(M)$. Then
\begin{align*}
\varphi^*(\psi^*\alpha)
=
(\psi \circ \varphi)^*\alpha.
\end{align*}
Since $\psi \circ \varphi = \operatorname{id}_M$, we obtain
\begin{align*}
\varphi^*(\psi^*\alpha)
=
(\operatorname{id}_M)^*\alpha
=
\alpha.
\end{align*}
Passing to cohomology classes gives
\begin{align*}
\varphi^*(\psi^*[\alpha]) = [\alpha].
\end{align*}
Thus $\varphi^* \circ \psi^* = \operatorname{id}_{H^k_{\mathrm{dR}}(M)}$.
[guided]
Now we prove that the two maps are inverse maps. Let $[\omega] \in H^k_{\mathrm{dR}}(N)$, and choose a closed representative $\omega \in \Omega^k(N)$. We want to compute what happens when we first pull back by $\varphi$ and then pull back by $\psi = \varphi^{-1}$.
Pullback is contravariant: for smooth maps $f: X \to Y$ and $g: Y \to Z$, one has
\begin{align*}
(g \circ f)^* = f^* \circ g^*.
\end{align*}
Here $f = \psi: N \to M$ and $g = \varphi: M \to N$, so
\begin{align*}
\psi^*(\varphi^*\omega)
=
(\varphi \circ \psi)^*\omega.
\end{align*}
Because $\psi$ is the inverse of $\varphi$, the composition $\varphi \circ \psi$ is the identity map on $N$. Therefore
\begin{align*}
\psi^*(\varphi^*\omega)
=
(\operatorname{id}_N)^*\omega
=
\omega.
\end{align*}
Taking cohomology classes gives
\begin{align*}
\psi^*(\varphi^*[\omega]) = [\omega].
\end{align*}
Hence $\psi^* \circ \varphi^*$ is the identity map on $H^k_{\mathrm{dR}}(N)$.
The other composition is checked in the same explicit way. Let $[\alpha] \in H^k_{\mathrm{dR}}(M)$, represented by a closed form $\alpha \in \Omega^k(M)$. Using contravariant functoriality again, now with the composition $\psi \circ \varphi: M \to M$, we get
\begin{align*}
\varphi^*(\psi^*\alpha)
=
(\psi \circ \varphi)^*\alpha.
\end{align*}
Since $\psi \circ \varphi = \operatorname{id}_M$, pullback by this composition is pullback by the identity map on $M$, and therefore
\begin{align*}
\varphi^*(\psi^*\alpha)
=
(\operatorname{id}_M)^*\alpha
=
\alpha.
\end{align*}
Passing to cohomology classes gives
\begin{align*}
\varphi^*(\psi^*[\alpha]) = [\alpha].
\end{align*}
Thus $\varphi^* \circ \psi^*$ is the identity map on $H^k_{\mathrm{dR}}(M)$.
[/guided]
[/step]
[step:Conclude that pullback by the diffeomorphism is an isomorphism]
The induced map
\begin{align*}
\psi^*: H^k_{\mathrm{dR}}(M) \to H^k_{\mathrm{dR}}(N)
\end{align*}
is both a left inverse and a right inverse for
\begin{align*}
\varphi^*: H^k_{\mathrm{dR}}(N) \to H^k_{\mathrm{dR}}(M).
\end{align*}
Therefore $\varphi^*$ is an isomorphism of real vector spaces, with inverse $(\varphi^{-1})^*$. Since $k \geq 0$ was arbitrary, this holds for every integer $k \geq 0$.
[/step]