[proofplan]
We show the evaluation map $\mathrm{ev}: V \to V^{**}$ is an isomorphism by proving injectivity and then invoking a dimension count.
Injectivity follows from the fact that a nonzero vector $v$ can always be detected by some functional in $V^*$ (constructed via the dual basis after extending $\{v\}$ to a basis).
Since $\dim V^{**} = \dim V^* = \dim V$ by two applications of the Dimension of Dual Space theorem, an injective linear map between spaces of equal finite dimension is an isomorphism.
The map is canonical because its definition uses only the evaluation pairing, with no choice of basis.
[/proofplan]
[step:Prove injectivity of $\mathrm{ev}$ by constructing a functional that separates $v$ from $\mathbf{0}$]
Suppose $\mathrm{ev}(v) = 0$, meaning $\theta(v) = 0$ for all $\theta \in V^*$.
We show $v = \mathbf{0}$.
If $v \neq \mathbf{0}$, extend $\{v\}$ to a basis $(v, e_2, \dots, e_n)$ for $V$ by the [Basis Extension Theorem](/theorems/370).
Let $(\varepsilon_1, \varepsilon_2, \dots, \varepsilon_n)$ be the [Dual Basis](/theorems/414).
Then $\varepsilon_1(v) = 1 \neq 0$, contradicting $\theta(v) = 0$ for all $\theta \in V^*$.
Hence $v = \mathbf{0}$, and $\mathrm{ev}$ is injective.
[guided]
The key question is: can a nonzero vector hide from every linear functional? The answer is no, and the dual basis provides the witness.
Suppose $\mathrm{ev}(v) = 0$, so $\theta(v) = 0$ for every $\theta \in V^*$, and assume for contradiction that $v \neq \mathbf{0}$. Since $v \neq \mathbf{0}$, the set $\{v\}$ is linearly independent, so we may extend it to a basis $(v, e_2, \dots, e_n)$ for $V$ by the [Basis Extension Theorem](/theorems/370). The [Dual Basis](/theorems/414) theorem produces a basis $(\varepsilon_1, \dots, \varepsilon_n)$ for $V^*$ with $\varepsilon_i(e_j) = \delta_{ij}$, where $e_1 = v$. In particular, $\varepsilon_1(v) = 1$. But $\varepsilon_1 \in V^*$, so the hypothesis $\theta(v) = 0$ for all $\theta \in V^*$ gives $\varepsilon_1(v) = 0$, a contradiction. Therefore $v = \mathbf{0}$, and $\ker(\mathrm{ev}) = \{\mathbf{0}\}$.
This argument is the finite-dimensional version of the Hahn-Banach separation principle: for finite-dimensional spaces, the dual space is always large enough to separate points.
[/guided]
[/step]
[step:Conclude $\mathrm{ev}$ is an isomorphism by dimension counting]
By the [Dimension of Dual Space](/theorems/415) applied twice:
\begin{align*}
\dim V^{**} = \dim V^* = \dim V.
\end{align*}
The [Evaluation Map is Linear](/theorems/422), and injectivity was established above.
By [Rank-Nullity](/theorems/384), $\mathrm{rank}(\mathrm{ev}) = \dim V - \dim\ker(\mathrm{ev}) = \dim V - 0 = \dim V = \dim V^{**}$.
An injective linear map between spaces of equal finite dimension is surjective, hence an isomorphism.
[guided]
We have shown $\ker(\mathrm{ev}) = \{\mathbf{0}\}$, so $\mathrm{ev}$ is injective. The codomain $V^{**}$ has the same dimension as $V$: by the [Dimension of Dual Space](/theorems/415), $\dim V^* = \dim V$, and applying it again, $\dim V^{**} = \dim V^* = \dim V$.
By [Rank-Nullity](/theorems/384):
\begin{align*}
\mathrm{rank}(\mathrm{ev}) = \dim V - \dim\ker(\mathrm{ev}) = \dim V - 0 = \dim V.
\end{align*}
Since $\mathrm{rank}(\mathrm{ev}) = \dim V = \dim V^{**}$, the map $\mathrm{ev}$ is surjective, and an injective and surjective linear map is an isomorphism. Why does this argument require finite dimensionality? For infinite-dimensional spaces, $V$ can be isomorphic to a proper subspace of $V^{**}$ (the algebraic dual of the algebraic dual is much larger than $V$), so injectivity does not automatically give surjectivity.
[/guided]
[/step]
[step:Verify canonicity: the definition of $\mathrm{ev}$ is basis-independent]
The definition $\mathrm{ev}(v)(\theta) = \theta(v)$ involves only the evaluation pairing between $V$ and $V^*$.
No basis, inner product, or additional structure is referenced.
Therefore the isomorphism $\mathrm{ev}: V \xrightarrow{\sim} V^{**}$ is canonical.
[/step]