[proofplan]
We prove the three parts by induction on $n = \dim V$.
First, we show all eigenvalues are real by computing $\lambda\|v\|^2 = \bar{\lambda}\|v\|^2$ from self-adjointness.
Second, we show eigenvectors for distinct eigenvalues are orthogonal.
Third, we establish that eigenvalues exist (over $\mathbb{C}$ by algebraic closure; over $\mathbb{R}$ by scalar extension), then apply induction: the orthogonal complement of an eigenspace is invariant under $\alpha$ by self-adjointness, and the restriction is again self-adjoint.
[/proofplan]
[step:Show all eigenvalues are real by exploiting $\alpha = \alpha^*$]
Let $\lambda$ be an eigenvalue with eigenvector $v \neq \mathbf{0}$.
Then:
\begin{align*}
\lambda\,\|v\|^2 = \lambda\,(v, v) = (v, \lambdav) = (v, \alpha(v)) = (\alpha(v), v) = (\lambdav, v) = \bar{\lambda}\,(v, v) = \bar{\lambda}\,\|v\|^2.
\end{align*}
The fourth equality uses $\alpha = \alpha^*$ (self-adjointness).
Since $\|v\|^2 > 0$, we get $\lambda = \bar{\lambda}$, so $\lambda \in \mathbb{R}$.
[guided]
The self-adjoint condition $(\alpha(v), w) = (v, \alpha(w))$ for all $v, w$ allows us to move $\alpha$ between the two slots of the inner product.
Taking $w = v$ and using $\alpha(v) = \lambdav$:
\begin{align*}
(v, \alpha(v)) = (v, \lambdav) = \lambda\,(v, v) = \lambda\,\|v\|^2.
\end{align*}
But also $(\alpha(v), v) = (\lambdav, v) = \bar{\lambda}\,(v, v) = \bar{\lambda}\,\|v\|^2$, where the conjugate appears because the inner product is conjugate-linear in the first argument.
Self-adjointness gives $(v, \alpha(v)) = (\alpha(v), v)$, so $\lambda\,\|v\|^2 = \bar{\lambda}\,\|v\|^2$.
Dividing by $\|v\|^2 > 0$: $\lambda = \bar{\lambda}$, proving $\lambda \in \mathbb{R}$.
[/guided]
[/step]
[step:Show eigenvectors for distinct eigenvalues are orthogonal]
If $\alpha(v) = \lambdav$ and $\alpha(w) = \muw$ with $\lambda \neq \mu$:
\begin{align*}
\lambda\,(v, w) = (\alpha(v), w) = (v, \alpha(w)) = \mu\,(v, w).
\end{align*}
The second equality uses self-adjointness, and the third uses $\alpha(w) = \muw$ with $\mu \in \mathbb{R}$ (so $\bar{\mu} = \mu$).
Since $\lambda \neq \mu$: $(\lambda - \mu)(v, w) = 0$ with $\lambda - \mu \neq 0$, so $(v, w) = 0$.
[/step]
[step:Establish the existence of an eigenvalue]
Over $\mathbb{C}$: the characteristic polynomial $\chi_\alpha$ has degree $n \geq 1$ and splits over $\mathbb{C}$ (since $\mathbb{C}$ is algebraically closed), so $\alpha$ has at least one eigenvalue.
Over $\mathbb{R}$: extend scalars to $\mathbb{C}$.
View $\alpha$ as a self-adjoint operator on $V_\mathbb{C} = V \otimes_\mathbb{R} \mathbb{C}$ with the extended inner product $(v_1 + iv_2, w_1 + iw_2)_\mathbb{C} = (v_1, w_1) + (v_2, w_2) + i(v_2, w_1) - i(v_1, w_2)$.
By the complex case, all eigenvalues of $\alpha$ on $V_\mathbb{C}$ are real (Step 1 applies to $V_\mathbb{C}$).
So $\chi_\alpha \in \mathbb{R}[t]$ has a real root, which is an eigenvalue of $\alpha$ over $\mathbb{R}$.
[/step]
[step:Complete the proof by induction using invariance of $\langle e_1 \rangle^\perp$]
Base case $n = 1$: any nonzero vector is an eigenvector.
For $n \geq 2$: let $\lambda_1$ be an eigenvalue (which exists by Step 3) with unit eigenvector $e_1$.
Let $W = \langle e_1 \rangle^\perp$.
We show $\alpha(W) \subseteq W$: for $w \in W$,
\begin{align*}
(e_1, \alpha(w)) = (\alpha(e_1), w) = (\lambda_1 e_1, w) = \bar{\lambda}_1\,(e_1, w) = \lambda_1 \cdot 0 = 0,
\end{align*}
where we used self-adjointness, $\lambda_1 \in \mathbb{R}$ (so $\bar{\lambda}_1 = \lambda_1$), and $w \in W = \langle e_1 \rangle^\perp$.
So $\alpha(w) \in W$.
The restriction $\alpha|_W: W \to W$ is self-adjoint on the $(n-1)$-dimensional inner product space $W$ (the adjoint identity is inherited from $V$).
By the inductive hypothesis, $W$ has an orthonormal eigenbasis $(e_2, \dots, e_n)$.
Then $(e_1, e_2, \dots, e_n)$ is an orthonormal eigenbasis for $V$.
[guided]
The inductive step requires two things: that $W = \langle e_1 \rangle^\perp$ is invariant under $\alpha$, and that $\alpha|_W$ is self-adjoint.
Invariance of $W$ is the crucial point.
If $\alpha$ were not self-adjoint, the orthogonal complement of an eigenspace might not be invariant — this is why the spectral theorem requires self-adjointness.
The computation:
\begin{align*}
(e_1, \alpha(w)) = (\alpha^*(e_1), w) = (\alpha(e_1), w) = (\lambda_1e_1, w) = \lambda_1(e_1, w) = 0.
\end{align*}
The first equality is the adjoint identity, the second uses $\alpha = \alpha^*$, and the last uses $w \perp e_1$.
(We also used $\lambda_1 \in \mathbb{R}$, so pulling $\lambda_1$ out of the first slot gives $\bar{\lambda}_1 = \lambda_1$.)
Self-adjointness of $\alpha|_W$ is automatic: for $w_1, w_2 \in W$, $(\alpha(w_1), w_2) = (w_1, \alpha(w_2))$ since this holds for all vectors in $V$.
The inner product on $W$ is the restriction of the inner product on $V$, so no additional verification is needed.
[/guided]
[/step]