[proofplan]
Because $V$ is semisimple, it is a finite [direct sum](/page/Direct%20Sum) of irreducible $\mathfrak g$-modules, so it is enough to prove the result for one irreducible summand and then check that weight spaces commute with finite direct sums. For an irreducible summand, choose positive roots and use [Lie's theorem](/theorems/3754) for the associated Borel subalgebra to obtain a vector killed by all positive root spaces. The triangular PBW factorisation then spans the module by negative-root monomials applied to this vector, and a commutator calculation shows that each such monomial is an ordinary $\mathfrak h$-weight vector. [Finite dimensionality](/theorems/1534) leaves only finitely many weights, and eigenspaces for distinct weights form a direct sum.
[/proofplan]
[step:Reduce the problem to irreducible summands]
Since $V$ is a finite-dimensional semisimple $\mathfrak g$-module, there exist irreducible $\mathfrak g$-submodules $W_1,\dots,W_m\subset V$ such that
\begin{align*}
V=W_1\oplus\cdots\oplus W_m.
\end{align*}
Here the direct sum is a direct sum of $\mathfrak g$-modules, hence each $W_i$ is stable under the action of $\mathfrak h$.
For a $\mathfrak g$-submodule $W\subset V$ and $\lambda\in\mathfrak h^*$, define
\begin{align*}
W_\lambda=\{w\in W: h\cdot w=\lambda(h)w \text{ for every } h\in\mathfrak h\}.
\end{align*}
If every irreducible summand satisfies
\begin{align*}
W_i=\bigoplus_{\lambda\in\mathfrak h^*}(W_i)_\lambda,
\end{align*}
with only finitely many nonzero summands, then $V$ has the asserted decomposition.
Indeed, for each $\lambda\in\mathfrak h^*$,
\begin{align*}
V_\lambda=(W_1)_\lambda\oplus\cdots\oplus(W_m)_\lambda.
\end{align*}
To prove this equality, let $v\in V_\lambda$ and write uniquely
\begin{align*}
v=w_1+\cdots+w_m
\end{align*}
with $w_i\in W_i$. For every $h\in\mathfrak h$,
\begin{align*}
h\cdot v=h\cdot w_1+\cdots+h\cdot w_m
\end{align*}
and also
\begin{align*}
h\cdot v=\lambda(h)v=\lambda(h)w_1+\cdots+\lambda(h)w_m.
\end{align*}
By uniqueness of the direct-sum decomposition, $h\cdot w_i=\lambda(h)w_i$ for every $i$, so $w_i\in (W_i)_\lambda$. The converse inclusion follows directly from the same equation. Therefore it remains to prove the theorem for an irreducible finite-dimensional $\mathfrak g$-module $W$.
[/step]
[step:Find a highest-weight vector using the Borel subalgebra]
Fix a system $\Phi^+$ of positive roots for the root system of $(\mathfrak g,\mathfrak h)$. Define $\mathfrak n^+=\bigoplus_{\alpha\in\Phi^+}\mathfrak g_\alpha$, $\mathfrak n^-=\bigoplus_{\alpha\in\Phi^+}\mathfrak g_{-\alpha}$, and $\mathfrak b=\mathfrak h\oplus\mathfrak n^+$. The subalgebra $\mathfrak b$ is solvable: indeed $[\mathfrak b,\mathfrak b]\subseteq \mathfrak n^+$, and repeated brackets in $\mathfrak n^+$ strictly increase the sum of positive-root heights until they vanish. Since $W$ is a nonzero finite-dimensional complex [vector space](/page/Vector%20Space) and $\mathfrak b$ acts on $W$, [Lie's theorem](/theorems/3802) applies to the $\mathfrak b$-module $W$. Hence there exist a nonzero vector $v\in W$ and a linear functional $\chi:\mathfrak b\to\mathbb C$ such that
\begin{align*}
x\cdot v=\chi(x)v
\end{align*}
for every $x\in\mathfrak b$.
Let $\lambda:\mathfrak h\to\mathbb C$ be the restriction of $\chi$ to $\mathfrak h$. Thus $v\in W_\lambda$. We now show that $\mathfrak n^+$ annihilates $v$. If $x,y\in\mathfrak b$, then
\begin{align*}
[x,y]\cdot v=x\cdot(y\cdot v)-y\cdot(x\cdot v).
\end{align*}
Using $y\cdot v=\chi(y)v$ and $x\cdot v=\chi(x)v$, this becomes
\begin{align*}
[x,y]\cdot v=\chi(y)\chi(x)v-\chi(x)\chi(y)v=0.
\end{align*}
Therefore every element of $[\mathfrak b,\mathfrak b]$ kills $v$.
For each $\alpha\in\Phi^+$ and each $z\in\mathfrak g_\alpha$, choose $h_\alpha\in\mathfrak h$ with $\alpha(h_\alpha)\ne 0$. This is possible because $\alpha$ is a nonzero linear functional on $\mathfrak h$. Since
\begin{align*}
[h_\alpha,z]=\alpha(h_\alpha)z,
\end{align*}
we have
\begin{align*}
z=\alpha(h_\alpha)^{-1}[h_\alpha,z]\in[\mathfrak b,\mathfrak b].
\end{align*}
Thus $\mathfrak g_\alpha v=0$ for every $\alpha\in\Phi^+$, and hence
\begin{align*}
\mathfrak n^+v=0.
\end{align*}
[/step]
[step:Span the irreducible module by negative-root monomials]
For any complex [Lie algebra](/page/Lie%20Algebra) $\mathfrak a$, write $U(\mathfrak a)$ for its universal enveloping algebra. Since $W$ is irreducible and $v\ne 0$, the $\mathfrak g$-submodule generated by $v$ is all of $W$:
\begin{align*}
W=U(\mathfrak g)v.
\end{align*}
By the triangular PBW factorisation [citetheorem:9359], multiplication gives a vector-space isomorphism
\begin{align*}
U(\mathfrak n^-)\otimes U(\mathfrak h)\otimes U(\mathfrak n^+)\longrightarrow U(\mathfrak g).
\end{align*}
Thus every element of $U(\mathfrak g)v$ is a finite sum of vectors of the form
\begin{align*}
u_-u_0u_+v,
\end{align*}
where $u_-\in U(\mathfrak n^-)$, $u_0\in U(\mathfrak h)$, and $u_+\in U(\mathfrak n^+)$.
Because $\mathfrak n^+v=0$, every element of the positive-degree part of $U(\mathfrak n^+)$ kills $v$. Therefore $u_+v$ is a scalar multiple of $v$. Since $v$ is a simultaneous $\mathfrak h$-eigenvector of weight $\lambda$, every element of $U(\mathfrak h)$ also acts on $v$ by a scalar. Consequently
\begin{align*}
W=U(\mathfrak n^-)v.
\end{align*}
Choose an ordered basis $f_1,\dots,f_N$ of $\mathfrak n^-$ such that each $f_j$ lies in a negative root space. For each $j$, let $\beta_j\in\Phi^+$ be the positive root satisfying
\begin{align*}
f_j\in\mathfrak g_{-\beta_j}.
\end{align*}
By the Poincare Birkhoff Witt Theorem [citetheorem:8827], $U(\mathfrak n^-)$ is spanned by monomials
\begin{align*}
f_{j_1}f_{j_2}\cdots f_{j_r},
\end{align*}
where $r\in\mathbb N_0$ and the indices are weakly ordered. Therefore $W$ is spanned by vectors of the form
\begin{align*}
f_{j_1}f_{j_2}\cdots f_{j_r}v.
\end{align*}
[guided]
The goal is to replace the abstract statement $W=U(\mathfrak g)v$ by a concrete spanning set whose weights can be computed. For any complex Lie algebra $\mathfrak a$, the notation $U(\mathfrak a)$ means its universal enveloping algebra. Since $W$ is irreducible and contains the nonzero vector $v$, the subspace $U(\mathfrak g)v$ is a nonzero $\mathfrak g$-submodule of $W$. Irreducibility therefore forces
\begin{align*}
W=U(\mathfrak g)v.
\end{align*}
Now we use the triangular PBW factorisation [citetheorem:9359]. It applies because $\mathfrak g$ is finite-dimensional complex semisimple and we have fixed the triangular decomposition
\begin{align*}
\mathfrak g=\mathfrak n^-\oplus\mathfrak h\oplus\mathfrak n^+.
\end{align*}
The theorem says that multiplication gives a vector-space isomorphism
\begin{align*}
U(\mathfrak n^-)\otimes U(\mathfrak h)\otimes U(\mathfrak n^+)\longrightarrow U(\mathfrak g).
\end{align*}
Thus an arbitrary element of $U(\mathfrak g)v$ is a finite sum of vectors
\begin{align*}
u_-u_0u_+v,
\end{align*}
with $u_-\in U(\mathfrak n^-)$, $u_0\in U(\mathfrak h)$, and $u_+\in U(\mathfrak n^+)$.
The positive part does not create new vectors from $v$. The reason is that $\mathfrak n^+v=0$. Hence any product containing at least one factor from $\mathfrak n^+$ kills $v$, while the empty product acts as the identity. Therefore $u_+v$ is a scalar multiple of $v$. Similarly, because $v$ has weight $\lambda$, every $h\in\mathfrak h$ satisfies $h\cdot v=\lambda(h)v$, and hence every element of the enveloping algebra $U(\mathfrak h)$ acts on $v$ by the corresponding scalar obtained from $\lambda$. It follows that the middle and positive factors only rescale $v$, so
\begin{align*}
W=U(\mathfrak n^-)v.
\end{align*}
Finally choose an ordered basis $f_1,\dots,f_N$ of $\mathfrak n^-$ consisting of root vectors. For each $j$, define $\beta_j\in\Phi^+$ by the condition
\begin{align*}
f_j\in\mathfrak g_{-\beta_j}.
\end{align*}
The Poincare Birkhoff Witt Theorem [citetheorem:8827] applies to the Lie algebra $\mathfrak n^-$ with this ordered basis. It gives that $U(\mathfrak n^-)$ is spanned by ordered monomials
\begin{align*}
f_{j_1}f_{j_2}\cdots f_{j_r},
\end{align*}
where $r\in\mathbb N_0$. Applying these monomials to $v$, we obtain a spanning set of $W$:
\begin{align*}
W=\operatorname{span}_{\mathbb C}\{f_{j_1}f_{j_2}\cdots f_{j_r}v: r\in\mathbb N_0\}.
\end{align*}
This spanning set is useful because each factor $f_j$ has a known $\mathfrak h$-commutator, so the weight of every spanning vector can be computed explicitly.
[/guided]
[/step]
[step:Compute the weight of each negative-root monomial]
Let
\begin{align*}
w=f_{j_1}f_{j_2}\cdots f_{j_r}v
\end{align*}
be one of the spanning vectors above. Define
\begin{align*}
\mu=\lambda-\beta_{j_1}-\beta_{j_2}-\cdots-\beta_{j_r}\in\mathfrak h^*,
\end{align*}
with the convention that for $r=0$ one has $w=v$ and $\mu=\lambda$.
We prove that $w\in W_\mu$. Let $h\in\mathfrak h$. Since $f_j\in\mathfrak g_{-\beta_j}$, the root-space relation gives
\begin{align*}
[h,f_j]=-\beta_j(h)f_j.
\end{align*}
Equivalently,
\begin{align*}
hf_j=f_jh-\beta_j(h)f_j.
\end{align*}
Commuting $h$ successively past $f_{j_1},\dots,f_{j_r}$ gives
\begin{align*}
h\cdot(f_{j_1}\cdots f_{j_r}v)=f_{j_1}\cdots f_{j_r}(h\cdot v)-\left(\beta_{j_1}(h)+\cdots+\beta_{j_r}(h)\right)f_{j_1}\cdots f_{j_r}v.
\end{align*}
Since $h\cdot v=\lambda(h)v$, this becomes
\begin{align*}
h\cdot w=
\left(\lambda(h)-\beta_{j_1}(h)-\cdots-\beta_{j_r}(h)\right)w
=
\mu(h)w.
\end{align*}
Thus every nonzero spanning vector $w$ lies in the weight space $W_\mu$.
[/step]
[step:Conclude the finite direct sum decomposition for an irreducible summand]
The previous step shows that $W$ is spanned by $\mathfrak h$-weight vectors. Since $W$ is finite-dimensional, choose finitely many of these spanning vectors that still span $W$. Let $\Lambda\subset\mathfrak h^*$ be the finite set of their weights. Then
\begin{align*}
W=\sum_{\mu\in\Lambda}W_\mu.
\end{align*}
It remains to check that no cancellation can occur among distinct weight spaces, and then to rule out weights outside $\Lambda$. We use the following elementary linear-algebra fact: if $\mu_1,\dots,\mu_s\in\mathfrak h^*$ are distinct and $w_a\in W_{\mu_a}$ satisfy
\begin{align*}
w_1+\cdots+w_s=0,
\end{align*}
then $w_1=\cdots=w_s=0$. To prove it, choose $h_0\in\mathfrak h$ such that the complex numbers
\begin{align*}
\mu_1(h_0),\dots,\mu_s(h_0)
\end{align*}
are pairwise distinct. Such an $h_0$ exists because, for each pair $a\ne b$, the condition $\mu_a(h)=\mu_b(h)$ cuts out a proper hyperplane in $\mathfrak h$, and a finite union of proper hyperplanes cannot equal the complex vector space $\mathfrak h$. For this fixed $h_0$, the map $T:W\to W$ given by $T(w)=h_0\cdot w$ has $w_a$ in its eigenspace with eigenvalue $\mu_a(h_0)$. Applying the Vandermonde-polynomial projection that equals $1$ at $\mu_a(h_0)$ and $0$ at the other eigenvalues to the relation $w_1+\cdots+w_s=0$ gives $w_a=0$ for each $a$. Thus every finite sum of distinct weight spaces is direct.
Applying this to the finite set $\Lambda$ gives
\begin{align*}
W=\bigoplus_{\mu\in\Lambda}W_\mu.
\end{align*}
Now let $\nu\in\mathfrak h^*\setminus\Lambda$. If $0\ne w\in W_\nu$, then the equality $W=\sum_{\mu\in\Lambda}W_\mu$ writes $w$ as a finite sum of vectors from the spaces $W_\mu$ with $\mu\in\Lambda$. This gives a nontrivial linear relation among the distinct weight spaces indexed by $\Lambda\cup\{\nu\}$, contradicting the directness just proved. Hence $W_\nu=0$ for every $\nu\notin\Lambda$, so only finitely many weight spaces of $W$ are nonzero.
[/step]
[step:Assemble the decompositions of the irreducible summands]
Applying the irreducible case to each $W_i$, choose a finite set $\Lambda_i\subset\mathfrak h^*$ such that
\begin{align*}
W_i=\bigoplus_{\lambda\in\Lambda_i}(W_i)_\lambda.
\end{align*}
Let
\begin{align*}
\Lambda=\Lambda_1\cup\cdots\cup\Lambda_m.
\end{align*}
Then $\Lambda$ is finite. Using
\begin{align*}
V_\lambda=(W_1)_\lambda\oplus\cdots\oplus(W_m)_\lambda
\end{align*}
from the reduction step, we obtain
\begin{align*}
V=\bigoplus_{\lambda\in\Lambda}V_\lambda.
\end{align*}
For every $\lambda\notin\Lambda$, each $(W_i)_\lambda$ is zero, so $V_\lambda=0$. Therefore
\begin{align*}
V=\bigoplus_{\lambda\in\mathfrak h^*}V_\lambda,
\end{align*}
with only finitely many nonzero summands. This is the desired weight space decomposition.
[/step]