[proofplan]
We prove invariance directly from the definition of orthogonal complement. Take a vector $x \in E_\lambda^\perp$ and test $Tx$ against an arbitrary vector $y \in E_\lambda$. Self-adjointness moves $T$ from the first inner-product slot to the second, and the eigenvector relation $Ty=\lambda y$ reduces the expression to a scalar multiple of $(x,y)_H$, which is zero. Since $Tx$ is orthogonal to every vector in $E_\lambda$, it lies in $E_\lambda^\perp$.
[/proofplan]
[step:Test $Tx$ against an arbitrary eigenvector]
Let $x \in E_\lambda^\perp$ be arbitrary. To prove $Tx \in E_\lambda^\perp$, by the definition of orthogonal complement it is enough to show that
\begin{align*}
(Tx,y)_H=0
\end{align*}
for every $y \in E_\lambda$.
Fix $y \in E_\lambda$. Since $T$ is self-adjoint, we have
\begin{align*}
(Tx,y)_H=(x,Ty)_H.
\end{align*}
Since $y \in E_\lambda=\ker(T-\lambda I)$, we have $Ty=\lambda y$. Therefore, using conjugate-linearity of the second variable of the Hilbert-space [inner product](/page/Inner%20Product),
\begin{align*}
(Tx,y)_H=(x,\lambda y)_H=\overline{\lambda}(x,y)_H.
\end{align*}
Because $x \in E_\lambda^\perp$ and $y \in E_\lambda$, the definition of $E_\lambda^\perp$ gives
\begin{align*}
(x,y)_H=0.
\end{align*}
Hence
\begin{align*}
(Tx,y)_H=0.
\end{align*}
[guided]
We want to prove that $E_\lambda^\perp$ is invariant under $T$, which means that applying $T$ to a vector already in $E_\lambda^\perp$ keeps it inside $E_\lambda^\perp$. So let $x \in E_\lambda^\perp$ be arbitrary. The definition of orthogonal complement says that a vector $v \in H$ belongs to $E_\lambda^\perp$ exactly when
\begin{align*}
(v,y)_H=0
\end{align*}
for every $y \in E_\lambda$. Thus, to prove $Tx \in E_\lambda^\perp$, we must prove
\begin{align*}
(Tx,y)_H=0
\end{align*}
for every $y \in E_\lambda$.
Fix an arbitrary vector $y \in E_\lambda$. The point of self-adjointness is that it lets us move $T$ from the first input of the inner product to the second input:
\begin{align*}
(Tx,y)_H=(x,Ty)_H.
\end{align*}
Now the choice $y \in E_\lambda$ becomes useful. Since
\begin{align*}
E_\lambda=\ker(T-\lambda I),
\end{align*}
membership of $y$ in $E_\lambda$ means precisely that
\begin{align*}
(T-\lambda I)y=0,
\end{align*}
and hence
\begin{align*}
Ty=\lambda y.
\end{align*}
Substituting this into the inner product identity gives
\begin{align*}
(Tx,y)_H=(x,\lambda y)_H.
\end{align*}
With Androma's Hilbert-space convention, the inner product is linear in the first variable and conjugate-linear in the second variable, so
\begin{align*}
(x,\lambda y)_H=\overline{\lambda}(x,y)_H.
\end{align*}
Finally, because $x \in E_\lambda^\perp$ and $y \in E_\lambda$, orthogonality gives
\begin{align*}
(x,y)_H=0.
\end{align*}
Therefore
\begin{align*}
(Tx,y)_H=\overline{\lambda}(x,y)_H=0.
\end{align*}
Since this holds for the arbitrary vector $y \in E_\lambda$, the vector $Tx$ is orthogonal to all of $E_\lambda$.
[/guided]
[/step]
[step:Conclude that the orthogonal complement is invariant]
The preceding step shows that for the arbitrary vector $x \in E_\lambda^\perp$,
\begin{align*}
(Tx,y)_H=0
\end{align*}
for every $y \in E_\lambda$. Hence $Tx \in E_\lambda^\perp$. Since $x \in E_\lambda^\perp$ was arbitrary, we have
\begin{align*}
T(E_\lambda^\perp)\subset E_\lambda^\perp.
\end{align*}
Thus $E_\lambda^\perp$ is invariant under $T$.
[/step]