[proofplan]
The proof proceeds in three stages. First, we establish the Thom isomorphism for trivial bundles using the relative Künneth theorem. Second, we extend to bundles that are trivial over each set of a finite open cover using a Mayer–Vietoris induction. Third, we handle general paracompact base spaces by a direct limit argument over compact subsets. The Thom class $u_E$ is constructed as the unique class restricting to the given orientation generators $\varepsilon_x$ on each fiber.
[/proofplan]
[step:Establish the isomorphism for trivial bundles via relative Künneth]
Suppose $E = X \times \mathbb{R}^d$ is a trivial bundle. Then $E^\# = X \times (\mathbb{R}^d \setminus \{0\})$. The cohomology of the fiber pair is
\begin{align*}
H^i(\mathbb{R}^d, \mathbb{R}^d \setminus \{0\}; R) \cong \begin{cases} R & i = d, \\ 0 & \text{otherwise.} \end{cases}
\end{align*}
Since $H^*(\mathbb{R}^d, \mathbb{R}^d \setminus \{0\}; R)$ is a free $R$-module concentrated in a single degree, the relative Künneth theorem gives an isomorphism
\begin{align*}
\times: H^i(X; R) \otimes_R H^j(\mathbb{R}^d, \mathbb{R}^d \setminus \{0\}; R) \xrightarrow{\sim} H^{i+j}(X \times \mathbb{R}^d, X \times (\mathbb{R}^d \setminus \{0\}); R).
\end{align*}
Let $u_0 \in H^d(\mathbb{R}^d, \mathbb{R}^d \setminus \{0\}; R)$ be the generator corresponding to the given $R$-orientation. Since the only nonzero contribution occurs when $j = d$, the cross product with $u_0$ gives
\begin{align*}
\Phi: H^i(X; R) &\xrightarrow{\sim} H^{i+d}(X \times \mathbb{R}^d, X \times (\mathbb{R}^d \setminus \{0\}); R), \quad c \mapsto \pi^*(c) \smile (1 \times u_0).
\end{align*}
Set $u_E := 1 \times u_0 \in H^d(E, E^\#; R)$. By construction, $u_E$ restricts to $u_0 \cong \varepsilon_x$ at each fiber $\{x\} \times \mathbb{R}^d$. The map $\Phi(c) = \pi^*(c) \smile u_E$ is the stated Thom isomorphism, and parts (1)–(3) all hold for the trivial bundle.
[guided]
Why does the Künneth theorem apply? The relative Künneth theorem for cross products requires that one of the two factors has free cohomology over $R$. The pair $(\mathbb{R}^d, \mathbb{R}^d \setminus \{0\})$ has cohomology $R$ in degree $d$ and $0$ otherwise — this is a free $R$-module. So the Künneth isomorphism holds without any Tor correction terms.
The key observation is that because $H^*(\mathbb{R}^d, \mathbb{R}^d \setminus \{0\}; R)$ is concentrated in a single degree $d$, the cross product collapses: $H^n(E, E^\#; R) \cong H^{n-d}(X; R)$. This is exactly the Thom isomorphism — cupping with $u_E$ shifts the degree by $d$.
For part (1): $H^i(E, E^\#; R) \cong H^{i-d}(X; R) = 0$ for $i < d$, since $H^j(X; R) = 0$ for $j < 0$.
Uniqueness of the Thom class $u_E$ follows from the isomorphism: $u_E$ must map to $1 \in H^0(X; R)$ under $\Phi^{-1}$, and $\Phi$ is bijective.
[/guided]
[/step]
[step:Extend to bundles trivial over a finite cover by Mayer–Vietoris induction]
Suppose the base $X$ admits a finite open cover $\{U_1, \ldots, U_n\}$ such that $E|_{U_j}$ is trivial for each $j$. We induct on $n$.
**Base case ($n = 1$).** The bundle is trivial and the result follows from the previous step.
**Inductive step.** Set $A = U_1 \cup \cdots \cup U_{n-1}$ and $B = U_n$. By the inductive hypothesis, the Thom isomorphism holds for $E|_A$ and $E|_B$. The intersection $A \cap B = (U_1 \cap U_n) \cup \cdots \cup (U_{n-1} \cap U_n)$ is covered by $n - 1$ trivializing open sets, so by the inductive hypothesis the Thom isomorphism holds for $E|_{A \cap B}$ as well.
Consider the Mayer–Vietoris sequences for the base and total spaces. For the base:
\begin{align*}
\cdots \to H^i(X; R) \to H^i(A; R) \oplus H^i(B; R) \to H^i(A \cap B; R) \to H^{i+1}(X; R) \to \cdots
\end{align*}
For the total space (relative to the punctured bundles):
\begin{align*}
\cdots \to H^{i+d}(E, E^\#; R) \to H^{i+d}(E|_A, E|_A^\#; R) \oplus H^{i+d}(E|_B, E|_B^\#; R) \to H^{i+d}(E|_{A \cap B}, E|_{A \cap B}^\#; R) \to \cdots
\end{align*}
The cup product with the Thom class provides a map of long exact sequences: $\Phi_A$, $\Phi_B$, and $\Phi_{A \cap B}$ are the Thom isomorphisms over $A$, $B$, and $A \cap B$ respectively. These maps are natural with respect to restriction, so the diagram commutes. By the inductive hypothesis, $\Phi_A$, $\Phi_B$, and $\Phi_{A \cap B}$ are isomorphisms. By the [Five Lemma](/theorems/1938), $\Phi_X: H^i(X; R) \to H^{i+d}(E, E^\#; R)$ is an isomorphism.
The Thom class $u_E$ is constructed by patching: uniqueness on each $U_j$ and the Mayer–Vietoris argument show that there is a unique class in $H^d(E, E^\#; R)$ restricting to the Thom class over each piece.
[guided]
The idea is a classic Mayer–Vietoris induction. We know the result for trivial bundles (step 1), and we want to bootstrap to bundles that are "trivial in pieces." The Mayer–Vietoris sequence relates the cohomology of $X = A \cup B$ to the cohomology of $A$, $B$, and $A \cap B$. By forming the analogous sequence for the bundle pairs, we get a ladder of long exact sequences connected by the Thom isomorphism maps. The Five Lemma — applied to the three known isomorphisms $\Phi_A$, $\Phi_B$, $\Phi_{A \cap B}$ — forces the fourth map $\Phi_X$ to also be an isomorphism.
Why does commutativity of the diagram hold? Because the cup product with $u_E$ is natural with respect to the restriction maps: restricting $u_E$ from $E$ to $E|_A$ gives the Thom class $u_{E|_A}$, and the restriction map on base cohomology commutes with $\pi^*$.
The [Five Lemma](/theorems/1938) requires: $\Phi_A$ and $\Phi_B$ are isomorphisms (inductive hypothesis on $n-1$ and $1$ respectively), $\Phi_{A \cap B}$ is an isomorphism (inductive hypothesis on $n-1$ open sets), and the exactness of both rows (Mayer–Vietoris). These conditions are met, so $\Phi_X$ is an isomorphism.
[/guided]
[/step]
[step:Handle general base spaces by a direct limit argument]
For a general paracompact base space $X$, write $X = \bigcup_{\lambda} K_\lambda$ as a directed union of compact subsets $K_\lambda$, directed by inclusion. Each compact subset $K_\lambda$ is covered by finitely many trivializing open sets, so the Thom isomorphism holds for $E|_{K_\lambda}$ by the finite-cover case.
Cohomology commutes with direct limits over directed systems of open inclusions: for any pair $(Y, Z)$ expressed as a union of open subpairs $(Y_\lambda, Z_\lambda)$,
\begin{align*}
H^n(Y, Z; R) \cong \varinjlim_\lambda H^n(Y_\lambda, Z_\lambda; R).
\end{align*}
Applying this to both sides of the Thom isomorphism:
\begin{align*}
H^{i+d}(E, E^\#; R) \cong \varinjlim_\lambda H^{i+d}(E|_{K_\lambda}, E|_{K_\lambda}^\#; R) \cong \varinjlim_\lambda H^i(K_\lambda; R) \cong H^i(X; R),
\end{align*}
where the middle isomorphism uses the Thom isomorphism over each $K_\lambda$. The Thom class $u_E$ is the unique element of $H^d(E, E^\#; R)$ compatible with the Thom classes $u_{E|_{K_\lambda}}$ under restriction, and the map $\Phi(c) = \pi^*(c) \smile u_E$ realizes the above isomorphism.
[/step]
[step:Conclude parts (1), (2), and (3)]
Parts (1) and (3) now follow from the isomorphism $\Phi: H^i(X; R) \xrightarrow{\sim} H^{i+d}(E, E^\#; R)$. For part (1): $H^i(E, E^\#; R) \cong H^{i-d}(X; R) = 0$ for $i < d$ since $H^j(X; R) = 0$ for $j < 0$.
For part (2): the Thom class $u_E \in H^d(E, E^\#; R)$ is uniquely determined by the requirement that it restrict to $\varepsilon_x$ at each fiber. Uniqueness follows from the isomorphism $\Phi$: the class $u_E$ corresponds to $1 \in H^0(X; R)$ under $\Phi$, and $\Phi$ is bijective, so $u_E$ is the unique preimage of $1$.
[/step]