[proofplan]
We construct a linear map $\Phi: V \otimes_k W \to \mathcal{L}(V^*, W)$ via the universal property, sending $v \otimes w$ to the rank-one operator $\varphi \mapsto \varphi(v) w$. We verify $\Phi$ is an isomorphism by showing it is injective (using dual basis evaluation to detect nonzero images) and surjective (by exhibiting every linear map $V^* \to W$ as the image of a tensor). The final statement $V^* \otimes_k W \cong \mathcal{L}(V, W)$ follows by replacing $V$ with $V^*$ and applying the canonical isomorphism $V^{**} \cong V$.
[/proofplan]
[step:Define the map $\Phi: V \otimes_k W \to \mathcal{L}(V^*, W)$ via the universal property]
Define the map
\begin{align*}
\Psi: V \times W &\to \mathcal{L}(V^*, W) \\
(v, w) &\mapsto \Psi(v, w),
\end{align*}
where $\Psi(v, w): V^* \to W$ is the linear map defined by $\Psi(v, w)(\varphi) = \varphi(v) \cdot w$ for each $\varphi \in V^*$. We verify that $\Psi$ is bilinear. For fixed $w \in W$, the map $v \mapsto \Psi(v, w)$ is linear because for $v_1, v_2 \in V$ and $\alpha \in k$,
\begin{align*}
\Psi(\alpha v_1 + v_2, w)(\varphi) = \varphi(\alpha v_1 + v_2) \cdot w = (\alpha \varphi(v_1) + \varphi(v_2)) \cdot w = \alpha\, \Psi(v_1, w)(\varphi) + \Psi(v_2, w)(\varphi),
\end{align*}
using linearity of $\varphi \in V^*$. For fixed $v \in V$, the map $w \mapsto \Psi(v, w)$ is linear because for $w_1, w_2 \in W$ and $\beta \in k$,
\begin{align*}
\Psi(v, \beta w_1 + w_2)(\varphi) = \varphi(v)(\beta w_1 + w_2) = \beta\, \varphi(v) w_1 + \varphi(v) w_2 = \beta\, \Psi(v, w_1)(\varphi) + \Psi(v, w_2)(\varphi).
\end{align*}
By the [universal property of the tensor product](/theorems/???), there exists a unique linear map
\begin{align*}
\Phi: V \otimes_k W \to \mathcal{L}(V^*, W)
\end{align*}
satisfying $\Phi(v \otimes w)(\varphi) = \varphi(v) \cdot w$ for all $v \in V$, $w \in W$, and $\varphi \in V^*$.
[guided]
The theorem asserts the existence of an isomorphism $V \otimes_k W \cong \mathcal{L}(V^*, W)$ with a specific formula on elementary tensors. We begin by constructing the map. Given $v \in V$ and $w \in W$, we want to associate a linear map $V^* \to W$. The natural candidate is $\varphi \mapsto \varphi(v) \cdot w$: evaluate the functional $\varphi$ at $v$ to get a scalar, then scale $w$ by that scalar. This produces an element of $W$, and the assignment $\varphi \mapsto \varphi(v) w$ is linear in $\varphi$ because scalar multiplication distributes.
So define $\Psi: V \times W \to \mathcal{L}(V^*, W)$ by $\Psi(v, w)(\varphi) = \varphi(v) \cdot w$. To lift $\Psi$ to a linear map on $V \otimes_k W$, we must verify that $\Psi$ is bilinear. We check linearity in each variable separately.
**Linearity in $v$ (with $w$ fixed):** For $v_1, v_2 \in V$, $\alpha \in k$, and any $\varphi \in V^*$:
\begin{align*}
\Psi(\alpha v_1 + v_2, w)(\varphi) = \varphi(\alpha v_1 + v_2) \cdot w = (\alpha \varphi(v_1) + \varphi(v_2)) \cdot w = \alpha\, \Psi(v_1, w)(\varphi) + \Psi(v_2, w)(\varphi).
\end{align*}
The key step uses linearity of $\varphi$ (it is a linear functional on $V$).
**Linearity in $w$ (with $v$ fixed):** For $w_1, w_2 \in W$, $\beta \in k$:
\begin{align*}
\Psi(v, \beta w_1 + w_2)(\varphi) = \varphi(v)(\beta w_1 + w_2) = \beta\, \varphi(v) w_1 + \varphi(v) w_2 = \beta\, \Psi(v, w_1)(\varphi) + \Psi(v, w_2)(\varphi).
\end{align*}
This uses linearity of scalar multiplication in $W$.
Since $\Psi$ is bilinear, the [universal property of the tensor product](/theorems/???) yields a unique linear map $\Phi: V \otimes_k W \to \mathcal{L}(V^*, W)$ with $\Phi(v \otimes w) = \Psi(v, w)$, i.e., $\Phi(v \otimes w)(\varphi) = \varphi(v) \cdot w$.
[/guided]
[/step]
[step:Show $\Phi$ is injective by evaluating against dual basis elements]
Let $\{e_1, \ldots, e_m\}$ be a basis for $V$ and let $\{\varepsilon_1, \ldots, \varepsilon_m\}$ denote the dual basis in $V^*$, defined by $\varepsilon_i(e_j) = \delta_{ij}$. Let $\{f_1, \ldots, f_n\}$ be a basis for $W$.
By the [Dimension and Basis of Tensor Product](/theorems/3301), every element of $V \otimes_k W$ can be written uniquely as
\begin{align*}
\tau = \sum_{i=1}^m \sum_{j=1}^n c_{ij}\, (e_i \otimes f_j)
\end{align*}
with $c_{ij} \in k$. Suppose $\Phi(\tau) = 0$, i.e., $\Phi(\tau)(\varphi) = 0$ for all $\varphi \in V^*$. Evaluating at $\varphi = \varepsilon_{i_0}$ for a fixed $1 \le i_0 \le m$:
\begin{align*}
0 = \Phi(\tau)(\varepsilon_{i_0}) = \sum_{i=1}^m \sum_{j=1}^n c_{ij}\, \Phi(e_i \otimes f_j)(\varepsilon_{i_0}) = \sum_{i=1}^m \sum_{j=1}^n c_{ij}\, \varepsilon_{i_0}(e_i) \cdot f_j = \sum_{j=1}^n c_{i_0 j}\, f_j.
\end{align*}
Since $\{f_1, \ldots, f_n\}$ is a basis for $W$ and therefore linearly independent, $c_{i_0 j} = 0$ for all $1 \le j \le n$. Since $i_0$ was arbitrary, $c_{ij} = 0$ for all $i, j$, so $\tau = 0$. Therefore $\Phi$ is injective.
[guided]
To show injectivity, we must prove that $\ker \Phi = \{0\}$. The strategy is to use the dual basis to "read off" the coefficients of $\tau$ from the values of $\Phi(\tau)$.
Fix a basis $\{e_1, \ldots, e_m\}$ for $V$ and let $\{\varepsilon_1, \ldots, \varepsilon_m\}$ be the dual basis in $V^*$, characterised by $\varepsilon_i(e_j) = \delta_{ij}$. Fix a basis $\{f_1, \ldots, f_n\}$ for $W$.
By the [Dimension and Basis of Tensor Product](/theorems/3301), $\{e_i \otimes f_j\}$ is a basis for $V \otimes_k W$, so every tensor $\tau$ has a unique expansion $\tau = \sum_{i,j} c_{ij}\, (e_i \otimes f_j)$.
Now suppose $\Phi(\tau) = 0$, meaning $\Phi(\tau)(\varphi) = 0 \in W$ for every $\varphi \in V^*$. We want to show all $c_{ij} = 0$. The key idea: evaluate $\Phi(\tau)$ at the specific dual basis element $\varepsilon_{i_0}$. By linearity of $\Phi$ and the definition $\Phi(e_i \otimes f_j)(\varepsilon_{i_0}) = \varepsilon_{i_0}(e_i) \cdot f_j = \delta_{i, i_0} \cdot f_j$:
\begin{align*}
0 = \Phi(\tau)(\varepsilon_{i_0}) = \sum_{i=1}^m \sum_{j=1}^n c_{ij}\, \varepsilon_{i_0}(e_i) \cdot f_j = \sum_{j=1}^n c_{i_0 j}\, f_j.
\end{align*}
All terms with $i \neq i_0$ vanish because $\varepsilon_{i_0}(e_i) = 0$. The remaining sum $\sum_j c_{i_0 j} f_j = 0$ is a linear combination of the linearly independent set $\{f_1, \ldots, f_n\}$, so $c_{i_0 j} = 0$ for all $j$. Since $i_0 \in \{1, \ldots, m\}$ was arbitrary, every coefficient vanishes, and $\tau = 0$.
[/guided]
[/step]
[step:Show $\Phi$ is surjective by expressing every linear map as the image of a tensor]
Let $T \in \mathcal{L}(V^*, W)$ be an arbitrary linear map. Using the bases from the previous step, define
\begin{align*}
\tau_T := \sum_{i=1}^m e_i \otimes T(\varepsilon_i) \in V \otimes_k W.
\end{align*}
We claim $\Phi(\tau_T) = T$. For any $\varphi \in V^*$, writing $\varphi = \sum_{i=1}^m \varphi(e_i)\, \varepsilon_i$ (the expansion of $\varphi$ in the dual basis):
\begin{align*}
\Phi(\tau_T)(\varphi) = \sum_{i=1}^m \Phi(e_i \otimes T(\varepsilon_i))(\varphi) = \sum_{i=1}^m \varphi(e_i) \cdot T(\varepsilon_i) = T\!\left(\sum_{i=1}^m \varphi(e_i)\, \varepsilon_i\right) = T(\varphi),
\end{align*}
where the last equality uses linearity of $T$ and the expansion $\varphi = \sum_i \varphi(e_i)\, \varepsilon_i$. Since $\Phi(\tau_T)(\varphi) = T(\varphi)$ for all $\varphi \in V^*$, we have $\Phi(\tau_T) = T$. Since $T$ was arbitrary, $\Phi$ is surjective.
[guided]
To show surjectivity, we must prove that every linear map $T: V^* \to W$ lies in the image of $\Phi$. We need to find a tensor $\tau_T \in V \otimes_k W$ with $\Phi(\tau_T) = T$.
The idea: since $T$ is determined by its values on a basis of $V^*$, we build $\tau_T$ using those values. Define
\begin{align*}
\tau_T := \sum_{i=1}^m e_i \otimes T(\varepsilon_i).
\end{align*}
Each summand $e_i \otimes T(\varepsilon_i)$ is an elementary tensor in $V \otimes_k W$ (with $T(\varepsilon_i) \in W$), so $\tau_T$ is a well-defined element of $V \otimes_k W$.
Now we verify $\Phi(\tau_T) = T$, meaning $\Phi(\tau_T)(\varphi) = T(\varphi)$ for every $\varphi \in V^*$. Any $\varphi \in V^*$ expands in the dual basis as $\varphi = \sum_{i=1}^m \varphi(e_i)\, \varepsilon_i$ — this is because both sides agree on every basis vector $e_j$: $\left(\sum_i \varphi(e_i) \varepsilon_i\right)(e_j) = \sum_i \varphi(e_i) \varepsilon_i(e_j) = \sum_i \varphi(e_i) \delta_{ij} = \varphi(e_j)$. So indeed $\varphi = \sum_i \varphi(e_i) \varepsilon_i$.
Computing $\Phi(\tau_T)(\varphi)$ using linearity of $\Phi$ and the defining property $\Phi(v \otimes w)(\varphi) = \varphi(v) w$:
\begin{align*}
\Phi(\tau_T)(\varphi) = \sum_{i=1}^m \Phi(e_i \otimes T(\varepsilon_i))(\varphi) = \sum_{i=1}^m \varphi(e_i) \cdot T(\varepsilon_i).
\end{align*}
By linearity of $T$:
\begin{align*}
\sum_{i=1}^m \varphi(e_i) \cdot T(\varepsilon_i) = T\!\left(\sum_{i=1}^m \varphi(e_i)\, \varepsilon_i\right) = T(\varphi).
\end{align*}
So $\Phi(\tau_T) = T$. Since $T$ was an arbitrary element of $\mathcal{L}(V^*, W)$, the map $\Phi$ is surjective.
[/guided]
[/step]
[step:Conclude the isomorphism and derive $V^* \otimes_k W \cong \mathcal{L}(V, W)$]
Since $\Phi: V \otimes_k W \to \mathcal{L}(V^*, W)$ is a linear map that is both injective and surjective, $\Phi$ is an isomorphism of $k$-vector spaces:
\begin{align*}
V \otimes_k W \cong \mathcal{L}(V^*, W).
\end{align*}
For the final statement, replace $V$ by $V^*$ in the isomorphism above to obtain
\begin{align*}
V^* \otimes_k W \cong \mathcal{L}(V^{**}, W).
\end{align*}
Since $V$ is finite-dimensional, the canonical evaluation map $\operatorname{ev}: V \to V^{**}$ defined by $\operatorname{ev}(v)(\varphi) = \varphi(v)$ is an isomorphism. Composing with $\operatorname{ev}^{-1}$ in the domain gives $\mathcal{L}(V^{**}, W) \cong \mathcal{L}(V, W)$, and therefore
\begin{align*}
V^* \otimes_k W \cong \mathcal{L}(V, W).
\end{align*}
[/step]