[proofplan]
The relations involving the $h_i$ are immediate consequences of the root-space definition and the normalization $h_i=[e_i,f_i]=\alpha_i^\vee$. The mixed bracket $[e_i,f_j]$ is controlled by root-space addition: for $i\ne j$ it would lie in the nonexistent root space $\mathfrak g_{\alpha_i-\alpha_j}$, while for $i=j$ it is $h_i$ by definition. The Serre nilpotence relations follow by tracking the root space containing each iterated bracket and then applying the root-string theorem, which says exactly how far the string $\alpha_j+m\alpha_i$ can extend.
[/proofplan]
[step:Compute the action of the Cartan generators on root vectors]
Since each $h_i$ lies in the Cartan subalgebra $\mathfrak h$ and $\mathfrak h$ is abelian, we have
\begin{align*}
[h_i,h_j] = 0
\end{align*}
for all $i,j$.
For each root $\alpha \in \Delta$, the root space is
\begin{align*}
\mathfrak g_\alpha
=
\{x \in \mathfrak g : [H,x] = \alpha(H)x \text{ for every } H \in \mathfrak h\}.
\end{align*}
Since $e_j \in \mathfrak g_{\alpha_j}$ and $f_j \in \mathfrak g_{-\alpha_j}$, evaluating the defining root-space relation at $H=h_i$ gives
\begin{align*}
[h_i,e_j] &= \alpha_j(h_i)e_j = a_{ij}e_j, \\
[h_i,f_j] &= (-\alpha_j)(h_i)f_j = -a_{ij}f_j.
\end{align*}
Thus the Cartan relations hold.
[guided]
The Cartan subalgebra $\mathfrak h$ is abelian, and the elements $h_i$ and $h_j$ both belong to $\mathfrak h$. Therefore their bracket is zero:
\begin{align*}
[h_i,h_j] = 0.
\end{align*}
Next we use the definition of a root space. For a root $\alpha \in \Delta$, the space $\mathfrak g_\alpha$ consists exactly of those elements $x \in \mathfrak g$ on which every $H \in \mathfrak h$ acts by the scalar $\alpha(H)$:
\begin{align*}
\mathfrak g_\alpha
=
\{x \in \mathfrak g : [H,x] = \alpha(H)x \text{ for every } H \in \mathfrak h\}.
\end{align*}
Because $e_j \in \mathfrak g_{\alpha_j}$, substituting $H=h_i$ gives
\begin{align*}
[h_i,e_j] = \alpha_j(h_i)e_j.
\end{align*}
By the definition of the Cartan matrix, $\alpha_j(h_i)=\langle \alpha_j,\alpha_i^\vee\rangle=a_{ij}$, hence
\begin{align*}
[h_i,e_j] = a_{ij}e_j.
\end{align*}
Similarly, $f_j \in \mathfrak g_{-\alpha_j}$. Therefore $h_i$ acts on $f_j$ by the scalar $(-\alpha_j)(h_i)$:
\begin{align*}
[h_i,f_j] = (-\alpha_j)(h_i)f_j = -a_{ij}f_j.
\end{align*}
These are precisely the Cartan action relations in the Serre presentation.
[/guided]
[/step]
[step:Identify the mixed brackets of positive and negative simple root vectors]
For roots $\alpha,\beta \in \Delta$, the Jacobi identity implies
\begin{align*}
[\mathfrak g_\alpha,\mathfrak g_\beta] \subseteq \mathfrak g_{\alpha+\beta}
\end{align*}
when $\alpha+\beta \in \Delta$, and
\begin{align*}
[\mathfrak g_\alpha,\mathfrak g_\beta] = 0
\end{align*}
when $\alpha+\beta \ne 0$ and $\alpha+\beta \notin \Delta$. Indeed, for $x \in \mathfrak g_\alpha$, $y \in \mathfrak g_\beta$, and $H \in \mathfrak h$, Jacobi gives
\begin{align*}
[H,[x,y]]
=
[[H,x],y]+[x,[H,y]]
=
(\alpha(H)+\beta(H))[x,y].
\end{align*}
Taking $x=e_i \in \mathfrak g_{\alpha_i}$ and $y=f_j \in \mathfrak g_{-\alpha_j}$, we get
\begin{align*}
[e_i,f_j] \in \mathfrak g_{\alpha_i-\alpha_j}
\end{align*}
when $\alpha_i-\alpha_j$ is a root, and the bracket is zero if $\alpha_i-\alpha_j$ is neither zero nor a root. If $i\ne j$, then $\alpha_i-\alpha_j$ is not a root: in the simple-root basis it has one positive and one negative coefficient, whereas every root is either a nonnegative integral combination of simple roots or a nonpositive integral combination of simple roots. Hence
\begin{align*}
[e_i,f_j]=0
\end{align*}
for $i\ne j$. If $i=j$, the chosen Chevalley normalization gives
\begin{align*}
[e_i,f_i]=h_i.
\end{align*}
Therefore
\begin{align*}
[e_i,f_j]=\delta_{ij}h_i.
\end{align*}
[guided]
We first record the root-space bookkeeping rule. Let $\alpha,\beta \in \Delta$, let $x \in \mathfrak g_\alpha$, and let $y \in \mathfrak g_\beta$. For every $H \in \mathfrak h$, the Jacobi identity gives
\begin{align*}
[H,[x,y]]
=
[[H,x],y]+[x,[H,y]].
\end{align*}
Since $x$ and $y$ are root vectors, $[H,x]=\alpha(H)x$ and $[H,y]=\beta(H)y$. Substituting these identities gives
\begin{align*}
[H,[x,y]]
=
\alpha(H)[x,y]+\beta(H)[x,y]
=
(\alpha+\beta)(H)[x,y].
\end{align*}
Thus, if $[x,y]\ne 0$, it is a vector of weight $\alpha+\beta$. Consequently $[\mathfrak g_\alpha,\mathfrak g_\beta]$ lies in $\mathfrak g_{\alpha+\beta}$ when $\alpha+\beta$ is a root, lies in $\mathfrak h$ when $\alpha+\beta=0$, and is zero when $\alpha+\beta$ is neither zero nor a root.
Apply this with $x=e_i \in \mathfrak g_{\alpha_i}$ and $y=f_j \in \mathfrak g_{-\alpha_j}$. Then $[e_i,f_j]$ has weight $\alpha_i-\alpha_j$. If $i\ne j$, the difference $\alpha_i-\alpha_j$ is not a root. The reason is structural: expressed in the simple-root basis, $\alpha_i-\alpha_j$ has coefficient $1$ on $\alpha_i$ and coefficient $-1$ on $\alpha_j$, while every root is either a nonnegative integral combination of simple roots or a nonpositive integral combination of simple roots. Therefore no nonzero root space of weight $\alpha_i-\alpha_j$ exists, and the bracket must vanish:
\begin{align*}
[e_i,f_j]=0.
\end{align*}
When $i=j$, the bracket is not determined by this vanishing argument because the weight is zero. Here we use the normalization of the Chevalley generators:
\begin{align*}
h_i=[e_i,f_i].
\end{align*}
Combining the two cases gives exactly
\begin{align*}
[e_i,f_j]=\delta_{ij}h_i.
\end{align*}
[/guided]
[/step]
[step:Track iterated brackets with $e_i$ through their root spaces]
Fix distinct indices $i,j \in \{1,\dots,n\}$. Define the [linear map](/page/Linear%20Map)
\begin{align*}
\operatorname{ad} e_i : \mathfrak g &\to \mathfrak g \\
x &\mapsto [e_i,x].
\end{align*}
For every integer $m \ge 0$, induction using the root-space bracket rule gives
\begin{align*}
(\operatorname{ad} e_i)^m(e_j) \in \mathfrak g_{\alpha_j+m\alpha_i},
\end{align*}
with the convention that $\mathfrak g_\gamma=\{0\}$ if $\gamma \notin \Delta \cup \{0\}$.
We apply the root-string theorem for reduced root systems (citing a result not yet in the wiki: root-string theorem). For the $\alpha_i$-string through $\alpha_j$, there exist integers $p,q \ge 0$ such that the roots in this string are exactly
\begin{align*}
\alpha_j-q\alpha_i,\,
\alpha_j-(q-1)\alpha_i,\,
\dots,\,
\alpha_j+p\alpha_i,
\end{align*}
and
\begin{align*}
p-q=-\langle \alpha_j,\alpha_i^\vee\rangle=-a_{ij}.
\end{align*}
Since $i\ne j$, the element $\alpha_j-\alpha_i$ is not a root, so $q=0$. Hence $p=-a_{ij}$. Therefore $\alpha_j+m\alpha_i$ is a root precisely for $0\le m\le -a_{ij}$ within this string, and
\begin{align*}
\alpha_j+(1-a_{ij})\alpha_i
\end{align*}
is not a root. Thus
\begin{align*}
(\operatorname{ad} e_i)^{1-a_{ij}}(e_j)
\in
\mathfrak g_{\alpha_j+(1-a_{ij})\alpha_i}
=
\{0\},
\end{align*}
so
\begin{align*}
(\operatorname{ad} e_i)^{1-a_{ij}}(e_j)=0.
\end{align*}
[guided]
The goal is to understand how many times we can bracket $e_j$ with $e_i$ before the result must vanish. Define the adjoint action of $e_i$ as the linear map
\begin{align*}
\operatorname{ad} e_i : \mathfrak g &\to \mathfrak g \\
x &\mapsto [e_i,x].
\end{align*}
Since $e_i$ has root $\alpha_i$, each application of $\operatorname{ad} e_i$ raises the root by $\alpha_i$. More precisely, the root-space bracket rule gives
\begin{align*}
[e_i,\mathfrak g_\gamma]\subseteq \mathfrak g_{\gamma+\alpha_i}
\end{align*}
whenever $\gamma+\alpha_i$ is a root, and gives zero if no such root space exists. Starting from $e_j\in\mathfrak g_{\alpha_j}$, induction on $m\ge 0$ gives
\begin{align*}
(\operatorname{ad} e_i)^m(e_j) \in \mathfrak g_{\alpha_j+m\alpha_i}.
\end{align*}
Thus the Serre relation will follow once we know that $\alpha_j+(1-a_{ij})\alpha_i$ is not a root.
This is exactly what the root-string theorem says (citing a result not yet in the wiki: root-string theorem). Applied to the root $\alpha_j$ in the direction $\alpha_i$, it states that the roots of the form $\alpha_j+m\alpha_i$ occur in one consecutive string
\begin{align*}
\alpha_j-q\alpha_i,\,
\alpha_j-(q-1)\alpha_i,\,
\dots,\,
\alpha_j+p\alpha_i,
\end{align*}
where $p,q\ge 0$ and
\begin{align*}
p-q=-\langle \alpha_j,\alpha_i^\vee\rangle=-a_{ij}.
\end{align*}
Because $i\ne j$, the difference $\alpha_j-\alpha_i$ is not a root: it has mixed signs in the simple-root basis. Therefore the string cannot extend one step in the negative $\alpha_i$ direction, so $q=0$. The root-string formula then gives
\begin{align*}
p=-a_{ij}.
\end{align*}
Hence the last root in the positive $\alpha_i$ direction is $\alpha_j-a_{ij}\alpha_i$, and the next candidate
\begin{align*}
\alpha_j+(1-a_{ij})\alpha_i
\end{align*}
is not a root. Since the iterated bracket lies in the corresponding root space and that root space is zero, we conclude
\begin{align*}
(\operatorname{ad} e_i)^{1-a_{ij}}(e_j)=0.
\end{align*}
[/guided]
[/step]
[step:Apply the same root-string argument to the negative simple root vectors]
Fix distinct indices $i,j \in \{1,\dots,n\}$. Define the linear map
\begin{align*}
\operatorname{ad} f_i : \mathfrak g &\to \mathfrak g \\
x &\mapsto [f_i,x].
\end{align*}
Since $f_i \in \mathfrak g_{-\alpha_i}$ and $f_j \in \mathfrak g_{-\alpha_j}$, the same induction using the root-space bracket rule gives
\begin{align*}
(\operatorname{ad} f_i)^m(f_j) \in \mathfrak g_{-\alpha_j-m\alpha_i}
\end{align*}
for every integer $m\ge 0$.
The set of roots is closed under negation, so $-\alpha_j-m\alpha_i$ is a root if and only if $\alpha_j+m\alpha_i$ is a root. From the previous root-string computation, $\alpha_j+(1-a_{ij})\alpha_i$ is not a root. Therefore
\begin{align*}
-\alpha_j-(1-a_{ij})\alpha_i
\end{align*}
is not a root. Hence
\begin{align*}
(\operatorname{ad} f_i)^{1-a_{ij}}(f_j)
\in
\mathfrak g_{-\alpha_j-(1-a_{ij})\alpha_i}
=
\{0\},
\end{align*}
and so
\begin{align*}
(\operatorname{ad} f_i)^{1-a_{ij}}(f_j)=0.
\end{align*}
[/step]
[step:Collect the relations to obtain the Serre presentation relations]
The preceding steps prove, for all $i,j \in \{1,\dots,n\}$,
\begin{align*}
[h_i,h_j] &= 0, \\
[h_i,e_j] &= a_{ij}e_j, \\
[h_i,f_j] &= -a_{ij}f_j, \\
[e_i,f_j] &= \delta_{ij}h_i,
\end{align*}
and, for all distinct $i,j$,
\begin{align*}
(\operatorname{ad} e_i)^{1-a_{ij}}(e_j) &= 0, \\
(\operatorname{ad} f_i)^{1-a_{ij}}(f_j) &= 0.
\end{align*}
These are exactly the Serre relations for the Cartan matrix $A=(a_{ij})$, so the Chevalley generators of $\mathfrak g$ satisfy the Serre presentation relations.
[/step]