Let $H$ be a Hilbert space. If $T \colon H \to H$ is a bounded self-adjoint linear operator and $T \neq 0$, then $T^n \neq 0$ for all $n \in \mathbb{N}$.
How to show this?
I've managed to show this for $n = 2, 4, 8, 16, 32, \ldots$ as follows:
Suppose that $T^2 = 0$. Let $x \in H$. Then $T^2 x = 0$. Using the definition of the Hilbert adjoint operator $T^*$ of $T$, we obtain $$\Vert Tx \Vert^2 = \langle Tx, Tx \rangle = \langle T^* Tx, x \rangle = \langle T^2 x, x \rangle = \langle 0, x \rangle = 0,$$ showing that $Tx = 0$ for all $x \in H$, a contradiction. So $T^2 \neq 0$.
Thus, we have shown that if $T^* = T$ and $T \neq 0$, then $T^2 \neq 0$ either.
Since $(T^2)^* = T^2$ also and since $T^2 \neq 0$, we must have $(T^2)^2 = T^4 \neq 0$ either.
Now let's suppose that, for some $k \in \mathbb{N}$, we have $$T^{2^k} \neq 0.$$ Since $$\left(T^{2^k}\right)^* = T^{2^k},$$ we must have $$\left(T^{2^k}\right)^2 = T^{2^{k+1}} \neq 0 \ \mbox{ either}. $$ Hence $$T^{2^k} \neq 0 \ \mbox{ for all } \ k \in \mathbb{N}.$$
Is the above proof correct?
How to proceed from here toward proving this assertion for all $n \in \mathbb{N}$?
Your proof looks fine.
For the general case, if $T^n=0$, then $T^m=0$ for all $m \geq n$, contradicting what you have shown.