[proofplan]
Choose simple roots and use the Killing form to identify the corresponding coroots inside the Cartan subalgebra. The main point is to choose the root vectors compatibly, not merely pairwise: we invoke the Chevalley root-vector normalization theorem, which constructs nonzero root vectors whose opposite brackets are the coroots and whose non-opposite root-string constants are integral. The root-space bracket relation then gives the required vanishing when no root sum exists, and coroot integrality in the simple-coroot basis supplies the remaining integral structure constants.
[/proofplan]
[step:Choose coroots and simple-root Cartan generators]
Let $\kappa: \mathfrak g \times \mathfrak g \to k$ denote the Killing form of $\mathfrak g$. Since $\mathfrak g$ is semisimple, $\kappa$ is nondegenerate, and its restriction to $\mathfrak h$ is nondegenerate. For each root $\alpha \in \Phi$, define $t_\alpha \in \mathfrak h$ to be the unique element satisfying
\begin{align*}
\kappa(t_\alpha,h)=\alpha(h) \qquad \text{for all } h \in \mathfrak h.
\end{align*}
Define the coroot $H_\alpha \in \mathfrak h$ by
\begin{align*}
H_\alpha=\frac{2t_\alpha}{\kappa(t_\alpha,t_\alpha)}.
\end{align*}
Choose a simple system $\Delta=\{\alpha_1,\dots,\alpha_\ell\}\subset \Phi$, where $\ell=\dim \mathfrak h$, and set $h_i:=H_{\alpha_i}$ for $1\le i\le \ell$. The [Root Decomposition and Cartan Data Theorem](/page/Root%20Decomposition%20and%20Cartan%20Data%20Theorem) applies because $\mathfrak g$ is finite-dimensional and semisimple over an algebraically closed field of characteristic zero and $\mathfrak h$ is a Cartan subalgebra. It gives that $\kappa|_{\mathfrak h\times\mathfrak h}$ is nondegenerate, that a simple system has cardinality $\ell=\dim\mathfrak h$, that $\Delta$ is a $\mathbb Z$-basis of the root lattice, and that $h_1,\dots,h_\ell$ is a basis of $\mathfrak h$.
[/step]
[step:Choose root vectors with compatible Chevalley normalization]
For each root $\alpha\in\Phi$, let
\begin{align*}
\mathfrak g_\alpha=\{x\in\mathfrak g:[h,x]=\alpha(h)x \text{ for all } h\in\mathfrak h\}
\end{align*}
denote the root space. The [Root-Space Decomposition Theorem](/page/Root-Space%20Decomposition%20Theorem) applies in the present semisimple characteristic-zero setting and gives
\begin{align*}
\mathfrak g=\mathfrak h\oplus\bigoplus_{\alpha\in\Phi}\mathfrak g_\alpha,
\end{align*}
and each $\mathfrak g_\alpha$ is one-dimensional. The [Chevalley Root-Vector Normalization Theorem](/page/Chevalley%20Root-Vector%20Normalization%20Theorem) applies because $\mathfrak g$ is finite-dimensional semisimple over an algebraically closed field of characteristic zero, $\Phi$ is the corresponding reduced root system, and the coroots $H_\alpha$ have been defined using the Killing form. It gives a choice of nonzero vectors $e_\alpha\in\mathfrak g_\alpha$, one for every $\alpha\in\Phi$, such that
\begin{align*}
[e_\alpha,e_{-\alpha}]&=H_\alpha,\\
[e_\alpha,e_\beta]&=N_{\alpha,\beta}e_{\alpha+\beta}\quad\text{with }N_{\alpha,\beta}\in\mathbb Z
\end{align*}
whenever $\alpha,\beta,\alpha+\beta\in\Phi$. This is a global compatibility statement about all root vectors; it is stronger than normalizing each opposite pair separately.
[/step]
[step:Compute the Cartan brackets in the proposed basis]
For $1\le i\le \ell$ and $\alpha\in\Phi$, the definition of the root space gives
\begin{align*}
[h_i,e_\alpha]=\alpha(h_i)e_\alpha=\alpha(H_{\alpha_i})e_\alpha.
\end{align*}
The integer
\begin{align*}
a_{i\alpha}:=\alpha(H_{\alpha_i})
\end{align*}
is the Cartan integer attached to $\alpha_i$ and $\alpha$. The [$\mathfrak{sl}_2$ Root-String Theorem](/page/Root-String%20Theorem) applied to the $\alpha_i$-string through $\alpha$ gives $a_{i\alpha}\in\mathbb Z$. Therefore all brackets involving one Cartan basis element and one root vector have integral coefficients in the family
\begin{align*}
\mathcal B:=\{h_1,\dots,h_\ell\}\cup\{e_\alpha:\alpha\in\Phi\}.
\end{align*}
[/step]
[step:Use the root-space bracket relation to get the remaining vanishing]
Let $\alpha,\beta\in\Phi$ with $\alpha\ne -\beta$. If $\alpha+\beta\notin\Phi$, then the root-space bracket relation from the [Root-Space Decomposition Theorem](/page/Root-Space%20Decomposition%20Theorem) gives
\begin{align*}
[e_\alpha,e_\beta]\in\mathfrak g_{\alpha+\beta}=0,
\end{align*}
where $\mathfrak g_{\alpha+\beta}$ denotes the zero subspace when $\alpha+\beta$ is not a root. Hence $[e_\alpha,e_\beta]=0$. If $\alpha+\beta\in\Phi$, then the compatible Chevalley normalization chosen above already gives a scalar $N_{\alpha,\beta}\in\mathbb Z$ satisfying
\begin{align*}
[e_\alpha,e_\beta]=N_{\alpha,\beta}e_{\alpha+\beta}.
\end{align*}
Thus the non-opposite root-vector brackets have exactly the asserted shape and integrality.
[/step]
[step:Assemble the Chevalley basis and verify the stated constants]
The set
\begin{align*}
\mathcal B=\{h_1,\dots,h_\ell\}\cup\{e_\alpha:\alpha\in\Phi\}
\end{align*}
is a basis of $\mathfrak g$ because $h_1,\dots,h_\ell$ is a basis of $\mathfrak h$, each $e_\alpha$ is a nonzero basis vector of the one-dimensional root space $\mathfrak g_\alpha$, and the root-space decomposition is direct. The [Coroot Integrality Theorem](/page/Coroot%20Integrality%20Theorem) applies to the reduced root system $\Phi$ with simple system $\Delta$ and gives
\begin{align*}
H_\alpha\in\sum_{i=1}^\ell \mathbb Z h_i
\end{align*}
for every $\alpha\in\Phi$. Combining this with the preceding steps gives
\begin{align*}
[h_i,h_j]&=0,\\
[h_i,e_\alpha]&=\alpha(H_{\alpha_i})e_\alpha \in \mathbb Z e_\alpha,\\
[e_\alpha,e_{-\alpha}]&=H_\alpha\in \sum_{i=1}^\ell \mathbb Z h_i,\\
[e_\alpha,e_\beta]&=N_{\alpha,\beta}e_{\alpha+\beta}\quad\text{with }N_{\alpha,\beta}\in\mathbb Z\text{ if }\alpha+\beta\in\Phi,\\
[e_\alpha,e_\beta]&=0\quad\text{if }\alpha+\beta\notin\Phi\text{ and }\alpha\ne-\beta.
\end{align*}
Hence $\mathcal B$ is a Chevalley basis, and the displayed constants satisfy exactly the integrality and vanishing assertions in the theorem.
[/step]