Simultaneous diagonalizability of commuting unitary operators I'm trying to prove the following: 

If $S\colon V\to V$ and $T\colon V\to V$ are unitary linear transformations on unitary space $V$ ($\dim V=n$, $n$ is finite), such that $ST=TS$, then they have a joint eigenvector basis (aka there is a basis of $V$ composed of eigenvectors of both $S$ and $T$ - not necessarily of the same eigenvalue per each).

Can anyone help me out? I've tried rephrasing the 'matrix equivalent' of the theorem, but I didn't get much further.
Thanks!
 A: Based on what you've already covered in class, there is an orthonormal basis with respect to which $S$ has matrix 
$$A= \begin{pmatrix}
  \lambda_1 I_{k_1} & 0 & \cdots & 0 \\
  0 & \lambda_2 I_{k_2} & \cdots & 0 \\
  \vdots  & \vdots  & \ddots & \vdots  \\
  0 & 0 & \cdots & \lambda_m I_{k_m}
 \end{pmatrix},$$
where $k_i$ is the dimension of the eigenspace for the eigenvalue $\lambda_i$ of $S$.  If $B$ is the matrix of $T$ with respect to this basis, then because $AB=BA$ you have
$$B=
 \begin{pmatrix}
  B_{1} & 0 & \cdots & 0 \\
  0 & B_{2} & \cdots & 0 \\
  \vdots  & \vdots  & \ddots & \vdots  \\
  0 & 0 & \cdots & B_{m}
 \end{pmatrix},$$
where $B_i$ is a $k_i$-by-$k_i$ matrix (e.g., see here).  Since each $B_i$ is unitary, each can be unitarily diagonalized. Note that doing so leaves $A$ unchanged.
A: Jonas' answer was excellent and helped me a lot, but today I thought of a different direction and it'd be nice if you fellows could help me tell whether it works:
Let $V_1, V_2, ..., V_k$ be the eigenspaces pertaining to eigenvalues $\lambda_1,\lambda_2,...\lambda_k$ of S. Since S is T-invariant, we know that $T(V_i)\subseteq V_i$, which means the reduction of T to the eigenspace $V_i$, $T_i:V_i\to V_i$, is also a unitary transform. Subsequently $T_i$ has an orthonormal eigenvector  basis in $V_i$. Because S is unitary, the bases found for the $T_i$s contain vectors orthonormal to each other, and so their union would be an orthonormal eigenvector basis of T, which, because S is unitary, would also be an eigenvector basis of S.
Is this proof valid-looking? Thanks!
