Let $\mathbf{Inv}\left(\mathfrak{gl}(r,\mathbb{R})\right)$ be the set of invariant polynomials on $\mathfrak{gl}(r,\mathbb{R})$, i.e $P\in\mathbf{Inv}\left(\mathfrak{gl}(r,\mathbb{R})\right)$ iff: $$ P(AXA^{-1})=P(X) \quad \forall A \in GL(r,\mathbb{R}) $$ For example, trace polynomials $\Sigma_k(X)=\text{tr}(X^k)$ are invariant polynomials for all $k$. Also for $\det(I+\lambda X)=\sum_{k=0}^{r}\lambda^kf_k(X)$, the polynomials $f_k(X)$ are invariant polynomials.
The theorem I would like a prove is that $\mathbf{Inv}\left(\mathfrak{gl}(r,\mathbb{R})\right)$ is generated as a ring by $\Sigma_k$, and also by $f_k$: $$ \mathbf{Inv}\left(\mathfrak{gl}(r,\mathbb{R})\right)=\mathbb{R}\left[\Sigma_1,\dots,\Sigma_r\right]=\mathbb{R}\left[f_1,\dots,f_r\right] $$
I've read this theorem in many places, but none provided a proof. It's Theorem 23.4 in Loring Tu "Differential Geometry: Connections, Curvature, and Characteristic Classes".