[proofplan]
Choose a positive root $\theta$ of maximal height and prove that it is dominant with full simple-root support. The root-string property shows that maximality of the height forces $(\theta,\alpha) \ge 0$ for every simple root $\alpha$, while irreducibility rules out any missing simple root in the support of $\theta$. To prove that $\theta$ is highest, start from an arbitrary positive root and extend it to a maximal element of the finite root poset; the same dominance and full-support argument applies to that maximal element, and comparison with $\theta$ via a root string forces it to equal $\theta$. Uniqueness then follows from antisymmetry of the simple-root order.
[/proofplan]
[step:Choose a positive root of maximal height and record the root-string consequence]
For each positive root $\beta \in \Phi^+$, write its unique simple-root expansion as
\begin{align*}
\beta=\sum_{\alpha \in \Delta} n_\alpha(\beta)\alpha,
\end{align*}
where each coefficient $n_\alpha(\beta)$ is a non-negative integer. Define the height map
\begin{align*}
\operatorname{ht}: \Phi^+ &\to \mathbb{N} \\
\beta &\mapsto \sum_{\alpha \in \Delta} n_\alpha(\beta).
\end{align*}
Since $\Phi^+$ is finite and non-empty, choose $\theta \in \Phi^+$ such that
\begin{align*}
\operatorname{ht}(\theta)=\max_{\beta \in \Phi^+}\operatorname{ht}(\beta).
\end{align*}
Let $\alpha \in \Delta$. By maximality of $\operatorname{ht}(\theta)$, the vector $\theta+\alpha$ is not a root: if $\theta+\alpha \in \Phi$, then it is a positive root and
\begin{align*}
\operatorname{ht}(\theta+\alpha)=\operatorname{ht}(\theta)+1,
\end{align*}
contradicting the choice of $\theta$.
We now use the root-string property (citing a result not yet in the wiki: Root String Property). Applied to the roots $\theta$ and $\alpha$, it says that the set of roots in the affine string $\theta+\mathbb{Z}\alpha$ is
\begin{align*}
\{\theta-p\alpha,\theta-(p-1)\alpha,\dots,\theta+q\alpha\}
\end{align*}
for integers $p,q \ge 0$, and that
\begin{align*}
p-q=\frac{2(\theta,\alpha)}{(\alpha,\alpha)}.
\end{align*}
Since $\theta+\alpha \notin \Phi$, we have $q=0$. Hence
\begin{align*}
\frac{2(\theta,\alpha)}{(\alpha,\alpha)}=p \ge 0.
\end{align*}
Because $(\alpha,\alpha)>0$, this gives
\begin{align*}
(\theta,\alpha)\ge 0
\end{align*}
for every $\alpha \in \Delta$.
[guided]
We first need a root that cannot be enlarged by adding a simple root. The height function measures exactly how many simple roots occur, counted with multiplicity, in a positive root. For a positive root $\beta$, the base property gives a unique expansion
\begin{align*}
\beta=\sum_{\alpha \in \Delta} n_\alpha(\beta)\alpha,
\end{align*}
with $n_\alpha(\beta)\in \mathbb{Z}_{\ge 0}$. Define
\begin{align*}
\operatorname{ht}: \Phi^+ &\to \mathbb{N} \\
\beta &\mapsto \sum_{\alpha \in \Delta} n_\alpha(\beta).
\end{align*}
The set $\Phi^+$ is finite, so there is at least one positive root $\theta$ with maximal height.
Now fix a simple root $\alpha \in \Delta$. If $\theta+\alpha$ were a root, then its simple-root expansion would be obtained by adding one more copy of $\alpha$ to the expansion of $\theta$. Hence $\theta+\alpha$ would be positive and
\begin{align*}
\operatorname{ht}(\theta+\alpha)=\operatorname{ht}(\theta)+1,
\end{align*}
which contradicts the maximality of $\theta$. Therefore $\theta+\alpha \notin \Phi$.
This is where the root-string property enters. For the pair of roots $\theta$ and $\alpha$, the root-string property (citing a result not yet in the wiki: Root String Property) gives non-negative integers $p$ and $q$ such that the roots in the line $\theta+\mathbb{Z}\alpha$ are precisely
\begin{align*}
\theta-p\alpha,\theta-(p-1)\alpha,\dots,\theta+q\alpha,
\end{align*}
and
\begin{align*}
p-q=\frac{2(\theta,\alpha)}{(\alpha,\alpha)}.
\end{align*}
Since $\theta+\alpha$ is not a root, the string cannot extend one step in the positive $\alpha$-direction, so $q=0$. Thus
\begin{align*}
\frac{2(\theta,\alpha)}{(\alpha,\alpha)}=p\ge 0.
\end{align*}
The root $\alpha$ is non-zero, so $(\alpha,\alpha)>0$, and therefore $(\theta,\alpha)\ge 0$.
[/guided]
[/step]
[step:Use irreducibility to show that the maximal-height root has full support]
Define the support of $\theta$ by
\begin{align*}
\operatorname{supp}(\theta)=\{\alpha \in \Delta : n_\alpha(\theta)>0\}.
\end{align*}
We prove that $\operatorname{supp}(\theta)=\Delta$.
Assume, for contradiction, that $\operatorname{supp}(\theta)$ is a proper subset of $\Delta$. Since $\theta \in \Phi^+$, the support is non-empty. The irreducibility of $\Phi$ means that the Dynkin diagram on $\Delta$ is connected. Hence there exist roots $\beta \in \operatorname{supp}(\theta)$ and $\alpha \in \Delta \setminus \operatorname{supp}(\theta)$ such that $\alpha$ and $\beta$ are joined by an edge in the Dynkin diagram. Equivalently,
\begin{align*}
(\beta,\alpha)<0.
\end{align*}
For every $\delta \in \operatorname{supp}(\theta)$ with $\delta \ne \beta$, the defining property of a base gives
\begin{align*}
(\delta,\alpha)\le 0.
\end{align*}
Therefore, using the expansion $\theta=\sum_{\delta \in \operatorname{supp}(\theta)} n_\delta(\theta)\delta$, we obtain
\begin{align*}
(\theta,\alpha)
&=\sum_{\delta \in \operatorname{supp}(\theta)} n_\delta(\theta)(\delta,\alpha) \\
&=n_\beta(\theta)(\beta,\alpha)
+\sum_{\substack{\delta \in \operatorname{supp}(\theta)\\ \delta \ne \beta}}
n_\delta(\theta)(\delta,\alpha) \\
&<0.
\end{align*}
This contradicts the inequality $(\theta,\alpha)\ge 0$ proved in the previous step. Hence $\operatorname{supp}(\theta)=\Delta$.
[guided]
The support of $\theta$ is the set of simple roots that actually occur in its expansion:
\begin{align*}
\operatorname{supp}(\theta)=\{\alpha \in \Delta : n_\alpha(\theta)>0\}.
\end{align*}
We want to show that no simple root is missing.
Suppose that some simple root is missing, so $\operatorname{supp}(\theta)\subsetneq \Delta$. The support is not empty because $\theta$ is a positive root. Since $\Phi$ is irreducible, the Dynkin diagram with vertex set $\Delta$ is connected. A non-empty proper subset of the vertices of a connected graph has an edge leaving it, so there are simple roots
\begin{align*}
\beta \in \operatorname{supp}(\theta),
\qquad
\alpha \in \Delta\setminus\operatorname{supp}(\theta)
\end{align*}
joined by an edge. By the definition of the Dynkin diagram, this means
\begin{align*}
(\beta,\alpha)<0.
\end{align*}
Now compute the inner product of $\theta$ with the missing simple root $\alpha$. Since $\alpha$ is not in the support of $\theta$,
\begin{align*}
\theta=\sum_{\delta \in \operatorname{supp}(\theta)} n_\delta(\theta)\delta.
\end{align*}
For distinct simple roots, the base property gives $(\delta,\alpha)\le 0$. The particular root $\beta$ contributes strictly negatively, while all other terms contribute non-positively. Hence
\begin{align*}
(\theta,\alpha)
&=\sum_{\delta \in \operatorname{supp}(\theta)} n_\delta(\theta)(\delta,\alpha) \\
&=n_\beta(\theta)(\beta,\alpha)
+\sum_{\substack{\delta \in \operatorname{supp}(\theta)\\ \delta \ne \beta}}
n_\delta(\theta)(\delta,\alpha) \\
&<0,
\end{align*}
because $n_\beta(\theta)>0$ and $(\beta,\alpha)<0$.
This contradicts the conclusion from the previous step, which showed that $(\theta,\alpha)\ge 0$ for every simple root $\alpha$. Therefore the assumption that a simple root is missing is impossible, and $\operatorname{supp}(\theta)=\Delta$.
[/guided]
[/step]
[step:Extend an arbitrary positive root to a maximal root and compare it with $\theta$]
Define the root order $\le$ on $\Phi^+$ by declaring that, for $\lambda,\mu \in \Phi^+$,
\begin{align*}
\lambda \le \mu
\quad \Longleftrightarrow \quad
\mu-\lambda \in \sum_{\alpha \in \Delta}\mathbb{Z}_{\ge 0}\alpha.
\end{align*}
Let $\gamma \in \Phi^+$. Since $\Phi^+$ is finite, the set
\begin{align*}
M_\gamma=\{\eta \in \Phi^+ : \gamma \le \eta\}
\end{align*}
has a maximal element with respect to $\le$; choose one and call it $\eta$.
For every $\alpha \in \Delta$, the vector $\eta+\alpha$ is not a root. Indeed, if $\eta+\alpha \in \Phi$, then $\eta+\alpha \in \Phi^+$ and $\eta < \eta+\alpha$, contradicting maximality of $\eta$ in $M_\gamma$. Applying the root-string property to $\eta$ and $\alpha$ exactly as in the first step gives
\begin{align*}
(\eta,\alpha)\ge 0
\end{align*}
for every $\alpha \in \Delta$. Repeating the support argument from the second step, with $\eta$ in place of $\theta$, gives
\begin{align*}
\operatorname{supp}(\eta)=\Delta.
\end{align*}
We prove that $\eta=\theta$. Suppose, for contradiction, that $\eta \ne \theta$. Since $\theta$ is dominant and non-zero, there exists $\alpha_0 \in \Delta$ such that $(\theta,\alpha_0)>0$; otherwise $\theta$ would be orthogonal to every element of the basis $\Delta$, hence to itself, contradicting $(\theta,\theta)>0$. Since $\operatorname{supp}(\eta)=\Delta$, we have $n_{\alpha_0}(\eta)>0$, and therefore
\begin{align*}
(\theta,\eta)
&=\sum_{\alpha \in \Delta} n_\alpha(\eta)(\theta,\alpha) \\
&\ge n_{\alpha_0}(\eta)(\theta,\alpha_0) \\
&>0.
\end{align*}
The vector $\theta+\eta$ is not a root, because if it were a root then it would be positive and would have height strictly larger than $\operatorname{ht}(\theta)$. Applying the root-string property to the distinct positive roots $\theta$ and $\eta$, the positive $\eta$-direction has length $q=0$, so
\begin{align*}
p=\frac{2(\theta,\eta)}{(\eta,\eta)}>0.
\end{align*}
Thus $p\ge 1$, and the same root string contains $\theta-\eta$ as a root. Since $\operatorname{ht}(\theta)\ge \operatorname{ht}(\eta)$ by the choice of $\theta$, this root cannot be negative; hence $\theta-\eta \in \Phi^+$. It follows that
\begin{align*}
\eta < \theta,
\end{align*}
contradicting maximality of $\eta$ in $M_\gamma$. Therefore $\eta=\theta$. Since $\gamma \le \eta$, we conclude $\gamma \le \theta$. As $\gamma \in \Phi^+$ was arbitrary, $\theta$ is a highest root.
[guided]
We must prove directly that every positive root lies below $\theta$ in the root order. Define that order precisely: for $\lambda,\mu \in \Phi^+$,
\begin{align*}
\lambda \le \mu
\quad \Longleftrightarrow \quad
\mu-\lambda \in \sum_{\alpha \in \Delta}\mathbb{Z}_{\ge 0}\alpha.
\end{align*}
Fix an arbitrary positive root $\gamma \in \Phi^+$. Because $\Phi^+$ is finite, the set
\begin{align*}
M_\gamma=\{\eta \in \Phi^+ : \gamma \le \eta\}
\end{align*}
is finite and non-empty, since it contains $\gamma$. Hence it has a maximal element in the root order; choose such an element and denote it by $\eta$.
The point of choosing $\eta$ is that it cannot be enlarged by adding a simple root. Let $\alpha \in \Delta$. If $\eta+\alpha$ were a root, then its simple-root expansion would have non-negative coefficients, so $\eta+\alpha \in \Phi^+$. Moreover $\eta < \eta+\alpha$, contradicting the maximality of $\eta$ among the positive roots lying above $\gamma$. Thus $\eta+\alpha \notin \Phi$ for every $\alpha \in \Delta$.
Now we repeat the root-string argument used for $\theta$. Applying the root-string property to the roots $\eta$ and $\alpha$, the string in the $\alpha$-direction has the form
\begin{align*}
\eta-p\alpha,\eta-(p-1)\alpha,\dots,\eta+q\alpha,
\end{align*}
with $p,q \in \mathbb{Z}_{\ge 0}$ and
\begin{align*}
p-q=\frac{2(\eta,\alpha)}{(\alpha,\alpha)}.
\end{align*}
Since $\eta+\alpha$ is not a root, we have $q=0$, and hence
\begin{align*}
\frac{2(\eta,\alpha)}{(\alpha,\alpha)}=p\ge 0.
\end{align*}
Because $(\alpha,\alpha)>0$, this gives $(\eta,\alpha)\ge 0$ for every simple root $\alpha$.
The same irreducibility argument used for $\theta$ now applies to $\eta$. If $\operatorname{supp}(\eta)$ were a proper subset of $\Delta$, connectedness of the Dynkin diagram would give roots $\beta \in \operatorname{supp}(\eta)$ and $\alpha \in \Delta\setminus\operatorname{supp}(\eta)$ with $(\beta,\alpha)<0$. Since all other distinct simple-root inner products with $\alpha$ are non-positive, the expansion of $\eta$ would give
\begin{align*}
(\eta,\alpha)
&=\sum_{\delta \in \operatorname{supp}(\eta)} n_\delta(\eta)(\delta,\alpha) \\
&=n_\beta(\eta)(\beta,\alpha)
+\sum_{\substack{\delta \in \operatorname{supp}(\eta)\\ \delta \ne \beta}}
n_\delta(\eta)(\delta,\alpha) \\
&<0,
\end{align*}
contradicting $(\eta,\alpha)\ge 0$. Therefore
\begin{align*}
\operatorname{supp}(\eta)=\Delta.
\end{align*}
It remains to compare this arbitrary maximal root $\eta$ with the maximal-height root $\theta$. We claim that $\eta=\theta$. Suppose instead that $\eta \ne \theta$. Since $(\theta,\alpha)\ge 0$ for every simple root $\alpha$, and since $\theta$ is not the zero vector, at least one simple root $\alpha_0 \in \Delta$ satisfies $(\theta,\alpha_0)>0$; if all these inner products were zero, then $\theta$ would be orthogonal to the whole span of $\Delta$, including itself, which would force $(\theta,\theta)=0$, impossible for a root. Because $\eta$ has full support, $n_{\alpha_0}(\eta)>0$. Therefore
\begin{align*}
(\theta,\eta)
&=\sum_{\alpha \in \Delta} n_\alpha(\eta)(\theta,\alpha) \\
&\ge n_{\alpha_0}(\eta)(\theta,\alpha_0) \\
&>0.
\end{align*}
The vector $\theta+\eta$ is not a root: if it were, then it would be a positive root whose height is
\begin{align*}
\operatorname{ht}(\theta+\eta)=\operatorname{ht}(\theta)+\operatorname{ht}(\eta)>
\operatorname{ht}(\theta),
\end{align*}
contradicting the choice of $\theta$ as a root of maximal height. Apply the root-string property to the distinct positive roots $\theta$ and $\eta$. Since the string does not extend from $\theta$ in the positive $\eta$-direction, its positive length is $q=0$. The root-string formula gives
\begin{align*}
p=\frac{2(\theta,\eta)}{(\eta,\eta)}>0.
\end{align*}
Thus $p\ge 1$, so the string contains $\theta-\eta$ as a root.
Finally, the height of this root is
\begin{align*}
\operatorname{ht}(\theta-\eta)=\operatorname{ht}(\theta)-\operatorname{ht}(\eta)\ge 0,
\end{align*}
because $\theta$ has maximal height among positive roots. A non-zero root with non-negative height cannot be negative, since every negative root has a negative simple-root expansion and hence negative height. Therefore $\theta-\eta \in \Phi^+$. This means $\eta < \theta$, contradicting the maximality of $\eta$ in $M_\gamma$. Hence $\eta=\theta$.
Since $\gamma \le \eta$ by construction and $\eta=\theta$, we have $\gamma \le \theta$. The positive root $\gamma$ was arbitrary, so every positive root lies below $\theta$ in the root order. Thus $\theta$ is a highest root.
[/guided]
[/step]
[step:Prove uniqueness from antisymmetry of the simple-root order]
Suppose $\theta_1,\theta_2 \in \Phi^+$ are both highest roots. Since $\theta_1$ is highest and $\theta_2 \in \Phi^+$, we have
\begin{align*}
\theta_2 \le \theta_1.
\end{align*}
Since $\theta_2$ is highest and $\theta_1 \in \Phi^+$, we also have
\begin{align*}
\theta_1 \le \theta_2.
\end{align*}
By the definition of the order, there are coefficients $a_\alpha,b_\alpha \in \mathbb{Z}_{\ge 0}$ such that
\begin{align*}
\theta_1-\theta_2 &= \sum_{\alpha \in \Delta} a_\alpha \alpha, \\
\theta_2-\theta_1 &= \sum_{\alpha \in \Delta} b_\alpha \alpha.
\end{align*}
Adding these two equalities gives
\begin{align*}
0=\sum_{\alpha \in \Delta}(a_\alpha+b_\alpha)\alpha.
\end{align*}
The simple roots in $\Delta$ are linearly independent, so $a_\alpha+b_\alpha=0$ for every $\alpha \in \Delta$. Since each $a_\alpha$ and $b_\alpha$ is non-negative, this implies $a_\alpha=b_\alpha=0$ for every $\alpha \in \Delta$. Hence $\theta_1-\theta_2=0$, so $\theta_1=\theta_2$.
Thus a highest root exists and is unique.
[/step]