[proofplan]
We first use the weight-space decomposition for finite-dimensional semisimple $\mathfrak g$-modules to write $V$ as a finite [direct sum](/page/Direct%20Sum) of $\mathfrak h$-weight spaces. The finite set of weights has a maximal element for the partial order determined by the positive roots. A nonzero vector of maximal weight is killed by every positive root space because root operators shift weights upward. Finally, the cyclic submodule generated by this vector is nonzero, so irreducibility forces it to be all of $V$.
[/proofplan]
[step:Decompose $V$ into finitely many $\mathfrak h$-weight spaces]
For each $\mu\in\mathfrak h^*$, define the $\mu$-weight space of $V$ by
\begin{align*}
V_\mu:=\{w\in V: h\cdot w=\mu(h)w \text{ for every } h\in\mathfrak h\}.
\end{align*}
Since $\mathfrak g$ is finite-dimensional and semisimple over $\mathbb C$, $\mathfrak h$ is the chosen Cartan subalgebra, and $V$ is finite-dimensional and irreducible, the module $V$ is semisimple as a $\mathfrak g$-module: it is the direct sum of the single simple submodule $V$. Thus the same-run theorem Weight Space Decomposition [citetheorem:9360] applies to $V$, and gives a finite direct sum decomposition
\begin{align*}
V=\bigoplus_{\mu\in\mathfrak h^*}V_\mu,
\end{align*}
where only finitely many summands are nonzero. This cited result supplies only the $\mathfrak h$-weight-space decomposition for finite-dimensional semisimple modules; it does not assert the existence of a maximal weight vector.
Let
\begin{align*}
\operatorname{Wt}(V):=\{\mu\in\mathfrak h^*:V_\mu\ne 0\}
\end{align*}
be the set of weights of $V$. Because $V\ne 0$, this finite set is nonempty.
[/step]
[step:Choose a maximal weight for the positive-root order]
Define the positive root monoid $Q_+$ by
\begin{align*}
Q_+:=\left\{\sum_{\alpha\in\Phi^+}n_\alpha\alpha:n_\alpha\in\mathbb Z_{\ge 0}\text{ for every }\alpha\in\Phi^+\right\}.
\end{align*}
Define a relation $\le$ on $\mathfrak h^*$ by declaring that $\mu\le\nu$ if and only if $\nu-\mu\in Q_+$. Because $\Phi^+$ is a positive system, the cone $Q_+$ is pointed: $Q_+\cap(-Q_+)=\{0\}$. Therefore this relation is antisymmetric, and reflexivity and transitivity follow from $0\in Q_+$ and closure of $Q_+$ under addition. Hence $\le$ is a partial order. Since $\operatorname{Wt}(V)$ is a nonempty finite partially ordered set, it has at least one maximal element. Choose such a maximal weight and denote it by $\lambda\in\operatorname{Wt}(V)$.
By the definition of $\operatorname{Wt}(V)$, the weight space $V_\lambda$ is nonzero. Choose
\begin{align*}
0\ne v\in V_\lambda.
\end{align*}
Then, by the definition of $V_\lambda$,
\begin{align*}
h\cdot v=\lambda(h)v \quad \text{for every } h\in\mathfrak h.
\end{align*}
[guided]
The purpose of introducing the order is to make precise the phrase “highest”. The positive roots determine which directions count as upward directions. We define
\begin{align*}
Q_+:=\left\{\sum_{\alpha\in\Phi^+}n_\alpha\alpha:n_\alpha\in\mathbb Z_{\ge 0}\text{ for every }\alpha\in\Phi^+\right\},
\end{align*}
so $Q_+$ consists of all finite nonnegative integer combinations of positive roots.
We then define $\mu\le\nu$ to mean $\nu-\mu\in Q_+$. This is the root-order partial order associated with the chosen positive system $\Phi^+$. Indeed, $0\in Q_+$ gives reflexivity, closure of $Q_+$ under addition gives transitivity, and the positivity of the chosen system gives $Q_+\cap(-Q_+)=\{0\}$, which gives antisymmetry. The set $\operatorname{Wt}(V)$ is finite and nonempty because the preceding step decomposed the nonzero finite-dimensional [vector space](/page/Vector%20Space) $V$ into finitely many nonzero weight spaces. Every nonempty finite partially ordered set has a maximal element: starting from any element, if it is not maximal one can move to a strictly larger element, and the process must stop because there are only finitely many elements.
Choose a maximal element $\lambda\in\operatorname{Wt}(V)$. Since $\lambda$ is a weight, $V_\lambda\ne 0$, so we may choose a vector
\begin{align*}
0\ne v\in V_\lambda.
\end{align*}
The definition of the weight space $V_\lambda$ gives exactly
\begin{align*}
h\cdot v=\lambda(h)v \quad \text{for every } h\in\mathfrak h.
\end{align*}
Thus $v$ is already an $\mathfrak h$-weight vector. The remaining task is to prove that the positive root spaces annihilate it.
[/guided]
[/step]
[step:Use root operators to show that the maximal weight vector is killed by positive roots]
Fix $\alpha\in\Phi^+$ and $x\in\mathfrak g_\alpha$. Since $v\in V_\lambda$, the same-run theorem Root Operators Shift Weights [citetheorem:9362] applies to the $\mathfrak g$-module $V$, the weight $\lambda$, the root $\alpha$, and the element $x\in\mathfrak g_\alpha$, giving
\begin{align*}
x\cdot v\in V_{\lambda+\alpha}.
\end{align*}
Because $\alpha\in Q_+$ and $\alpha\ne 0$, we have $\lambda<\lambda+\alpha$. Maximality of $\lambda$ in $\operatorname{Wt}(V)$ implies that $\lambda+\alpha\notin\operatorname{Wt}(V)$. Hence
\begin{align*}
V_{\lambda+\alpha}=0.
\end{align*}
Therefore $x\cdot v=0$. Since $\alpha\in\Phi^+$ and $x\in\mathfrak g_\alpha$ were arbitrary,
\begin{align*}
x\cdot v=0 \quad \text{for every } \alpha\in\Phi^+ \text{ and every } x\in\mathfrak g_\alpha.
\end{align*}
[guided]
We now verify that $v$ is killed by every positive root space. Fix a positive root $\alpha\in\Phi^+$ and an element $x\in\mathfrak g_\alpha$. The same-run theorem Root Operators Shift Weights [citetheorem:9362] says that a root vector of root $\alpha$ sends vectors of weight $\lambda$ into vectors of weight $\lambda+\alpha$. Its hypotheses are satisfied here because $V$ is a $\mathfrak g$-module, $\lambda\in\mathfrak h^*$, $v\in V_\lambda$, and $x\in\mathfrak g_\alpha$. Therefore
\begin{align*}
x\cdot v\in V_{\lambda+\alpha}.
\end{align*}
Now we use maximality. Since $\alpha$ is a positive root, it belongs to $Q_+$ and is nonzero. Thus $\lambda+\alpha$ is strictly larger than $\lambda$ in the positive-root order. If $V_{\lambda+\alpha}$ were nonzero, then $\lambda+\alpha$ would be a weight of $V$ strictly larger than the maximal weight $\lambda$, which is impossible. Hence
\begin{align*}
V_{\lambda+\alpha}=0.
\end{align*}
Since $x\cdot v$ lies in this zero vector space, we get
\begin{align*}
x\cdot v=0.
\end{align*}
This argument works for every $\alpha\in\Phi^+$ and every $x\in\mathfrak g_\alpha$, so the notation $\mathfrak g_\alpha v=0$ means precisely that every element of the root space $\mathfrak g_\alpha$ annihilates $v$.
[/guided]
[/step]
[step:Generate the whole irreducible module from the highest weight vector]
Define
\begin{align*}
W:=U(\mathfrak g)\cdot v\subset V.
\end{align*}
The set $W$ is a $\mathfrak g$-submodule of $V$ because it is stable under the action of $\mathfrak g$ by left multiplication inside $U(\mathfrak g)$. It is nonzero because $1\cdot v=v\ne 0$, where $1$ denotes the unit of $U(\mathfrak g)$. Since $V$ is irreducible, its only $\mathfrak g$-submodules are $0$ and $V$. Therefore
\begin{align*}
U(\mathfrak g)\cdot v=W=V.
\end{align*}
Combining this with the previous steps, $v$ is a highest weight vector of weight $\lambda$ and generates $V$. Hence $V$ is a highest weight module relative to $(\mathfrak h,\Phi^+)$.
[/step]