Show that a Hilbert space with two inner products has a basis that is orthogonal with respect to both inner products

Let us write ${\cal H}_i$ to denote ${\cal H}$ equipped with $\langle\cdot,\cdot\rangle_i$, for $i=1,2$. Consider an orthonormal basis $(e_1,\ldots,e_n)$ in ${\cal H}_1$, and consider the operator $$ G:{\cal H}\longrightarrow{\cal H},G(x)=\sum_{i=1}^n \langle e_i,x\rangle_2 e_i $$ we have $$ \langle y, G(x)\rangle_1 =\sum_{i=1}^n \langle e_i,x\rangle_2 \langle y, e_i\rangle_1 =\sum_{i=1}^n \overline{\langle e_i,y\rangle_1}\langle e_i,x\rangle_2 = \left\langle \sum_{i=1}^n\langle e_i,y\rangle_1e_i,x\right\rangle_2 =\left\langle y,x\right\rangle_2 $$ Thus $$ \langle y, G(x)\rangle_1=\left\langle y,x\right\rangle_2 =\overline{\left\langle x,y\right\rangle_2}=\overline{\left\langle x,G(y)\right\rangle_1}= \langle G(x),y\rangle_1 $$ So $G$ is hermitian, and since $\langle G(x),x\rangle_1=||x||_2^2>0$ for nonzero $x$, we conclude that $G$ is definite positive. Thus, there is an orthonormal basis $(f_1,\ldots,f_n)$ of ${\cal H}_1$ that diagonalizes $G$ that is $G(f_k)=\lambda_k f_k$, with $\lambda_k>0$, for $k=1,\ldots,n$. For $k\ne m$, we have by construction,$\langle f_k, f_m\rangle_1=0$ , and $$ \langle f_k, f_m\rangle_2= \langle f_k, G(f_m)\rangle_1=\lambda_m\langle f_k, f_m\rangle_1 =0$$ Thus $(f_1,\ldots,f_n)$ does the job.$\qquad\square$

${\bf Remark.}$ $(f_1,\ldots,f_n)$ is orthonormal in ${\cal H}_1$ and orthogonal in ${\cal H}_2$.