Proving that every diagonalizable operator is normal This question is insipired by the proof of the Spectral Theorem in Nielsen and Chuang's book (page 72). It says:

Theorem: Any normal operator $M$ on a vector space $V$ is diagonal with respect to some orthonormal basis for $V$. Conversely, any diagonalizable operator is normal.

They then go on to prove only the forward implication, and say that the converse is simple. My question is: how do I prove the converse?
So far, I've tried writing $M = PDP^{-1}$, which would mean
\begin{align}
MM^{\dagger} &= PDP^{-1}(PDP^{-1})^\dagger\\
&= PDP^{-1}(P^{-1})^\dagger D^\dagger P^\dagger\\
M^\dagger M &= (P^{-1})^\dagger D^\dagger P^\dagger PDP^{-1}
\end{align}
I know that $D^\dagger = D$, so to show that both expressions are equal, it would be enough to show that $P^{-1} = P^\dagger$, but I don't see how to do that.
For what it's worth, all that the book has said thus far about diagonalization is that an operator is diagonalizable if it can be written in the form $\sum_i \lambda_i\mid i \rangle \langle i \mid$. So far, all I know about normal matrices is that they satisfy $M^\dagger M = M M^\dagger$.
 A: Remember that, in this case, $P^{-1}=P^\dagger$ (or, to put it better, you are assuming that there is an orthogonal matrix $P$ such that $PDP^{-1}=M$; since $P$ is orthogonal, $P^{-1}=P^\dagger$).
So,\begin{align}MM^\dagger&=PDP^\dagger(PDP^\dagger)^\dagger\\&=PDP^\dagger PD^\dagger P^\dagger\\&=PDD^\dagger P^\dagger\\&=PD^\dagger DP^\dagger\\&=PD^\dagger P^\dagger PDP^\dagger\\&=M^\dagger M.\end{align}
A: In that book, "diagonalizable" means "unitarily diagonalizable". In any case, their formal definition is that if $M$ is diagonalizable, then $M=\sum_j \lambda_j x_jx_j^*$. Now all you need to do is check that $M$ is normal: 
\begin{align}
M^*M&=\left(\sum_{j=1}^n\lambda_jx_jx_j^*\right)^*\sum_{j=1}^n\lambda_jx_jx_j^*
=\sum_{j=1}^n\overline{\lambda_j}(x_jx_j^*)^*\sum_{j=1}^n\lambda_jx_jx_j^*\\ \ \\
&=\sum_{k,j}\overline{\lambda_j}\lambda_kx_jx_j^*x_kx_k^*
=\sum_{k=1}^n|\lambda_k|^2\,x_kx_k^*,
\end{align}
since $x_j^*x_k=\delta_{k,j}$. If you now do the same for $MM^*$, you will get the same result. So $M^*M=MM^*$, and $M$ is normal. 
A: Actually what you supplemented in the end of your post is the key. Assuming $M$ is diagonalizable in the sense that
$$
M = \sum_i \lambda_i |i\rangle\langle i|
$$
We then have
$$
M^\dagger = \sum_j \lambda_j^* |j\rangle\langle j|
$$
So,
$$
MM^\dagger = \sum_{i,j}\lambda_i\lambda_j^* |i\rangle\langle i|j\rangle\langle j| \\
= \sum_i ||\lambda_i||^2 |i\rangle \langle i|
$$
You can easily verify that $M^\dagger M$ gives the same expression.
