[step:Apply the geometric Hahn-Banach theorem to separate $0$ from $K$]We use the following symmetric form of the geometric Hahn-Banach theorem, a direct corollary of [Separation from a Convex Set Containing 0](/theorems/2654): if $A, B$ are non-empty disjoint convex subsets of a real locally convex space, with $A$ open, then there exists a continuous linear functional $f$ on $X$ and $c \in \mathbb{R}$ with $f(a) < c \leq f(b)$ for all $a \in A$, $b \in B$.
[claim:Geometric separation of disjoint convex sets, one open]
Let $A, B \subseteq X$ be non-empty disjoint convex subsets of a normed space, with $A$ open. Then there exist $f \in X^*$ and $c \in \mathbb{R}$ such that $f(a) < c \leq f(b)$ for all $a \in A$, $b \in B$. (We state for the real case; in the complex case, replace $f$ by $\operatorname{Re} f$.)
[/claim]
[proof]
Form the difference set $D := A - B = \{a - b : a \in A, b \in B\}$. We verify:
- **$D$ is convex**: if $d_1 = a_1 - b_1$, $d_2 = a_2 - b_2$ are in $D$ and $\lambda \in [0,1]$, then $\lambda d_1 + (1-\lambda) d_2 = (\lambda a_1 + (1-\lambda)a_2) - (\lambda b_1 + (1-\lambda) b_2) \in A - B = D$, using convexity of $A$ and $B$.
- **$D$ is open**: $D = \bigcup_{b \in B} (A - b)$, each summand $A - b$ is the translate of the open set $A$ by $-b$ (a homeomorphism), hence open. A union of open sets is open.
- **$0 \notin D$**: $0 \in D$ would mean $a = b$ for some $a \in A$, $b \in B$, contradicting $A \cap B = \varnothing$.
Pick any $w_0 \in D$ (exists as $A, B$ are non-empty). Define
\begin{align*}
\widetilde{C} := D - w_0 = \{d - w_0 : d \in D\}, \qquad \widetilde{x}_0 := -w_0.
\end{align*}
Then $\widetilde{C}$ is open convex (translation of $D$ by $-w_0$, a homeomorphism) and $0 = w_0 - w_0 \in \widetilde{C}$. We claim $\widetilde{x}_0 = -w_0 \notin \widetilde{C}$: if $-w_0 \in \widetilde{C} = D - w_0$, then $-w_0 = d - w_0$ for some $d \in D$, forcing $d = 0$. But $0 \notin D$ (from the third bullet above), a contradiction. So $\widetilde{x}_0 \notin \widetilde{C}$.
By [Separation from a Convex Set Containing 0](/theorems/2654) applied to $\widetilde{C}$ and $\widetilde{x}_0$, there is $f \in X^*$ with $f(z) < f(\widetilde{x}_0)$ for all $z \in \widetilde{C}$. Writing $z = d - w_0$ with $d \in D$ and $\widetilde{x}_0 = -w_0$:
\begin{align*}
f(d - w_0) < f(-w_0) \quad \text{for all } d \in D,
\end{align*}
which simplifies (subtracting $f(-w_0)$ from both sides and using linearity) to $f(d) < 0$ for all $d \in D$. With $d = a - b$:
\begin{align*}
f(a) - f(b) < 0, \quad \text{i.e.} \quad f(a) < f(b) \quad \text{for all } a \in A, b \in B.
\end{align*}
Set $c := \inf_{b \in B} f(b)$. Then $f(a) \leq f(b)$ for all $b \in B$, hence $f(a) \leq c$ for all $a \in A$. To upgrade $\leq$ to $<$ on $A$, we argue that the inequality is strict on the open set $A$. The functional $f$ is non-zero (otherwise the strict inequality $f(a) < f(b)$ would reduce to $0 < 0$). A non-zero continuous linear functional $f: X \to \mathbb{R}$ is an open map: pick any $v \in X$ with $f(v) \ne 0$; then for any open $U \subseteq X$ and any $a \in U$, the segment $a + tv$ lies in $U$ for $|t|$ small, so $f(a) + tf(v)$ traces an open interval around $f(a)$ in $f(U)$. Applied to $\widetilde{C}$ (which is open), the image $f(\widetilde{C})$ is an open subset of $\mathbb{R}$, and by the same argument $f(A)$ is open in $\mathbb{R}$. Since $f(A) \subseteq (-\infty, c]$ and $f(A)$ is open, in fact $f(A) \subseteq (-\infty, c)$, so $f(a) < c$ for all $a \in A$ (the infimum cannot be attained on the open set).
[/proof]
Apply the Claim with $A = B(0, \varepsilon_0)$ (open, convex, non-empty, contains $0$) and $B = K$ (non-empty, convex, disjoint from $A$ by Step 1). There exist $f \in X^*$ and $c \in \mathbb{R}$ with
\begin{align*}
f(z) < c \leq f(y) \quad \text{for all } z \in B(0, \varepsilon_0), \ y \in K.
\end{align*}
Taking $z = 0 \in B(0, \varepsilon_0)$ gives $0 = f(0) < c$, so $c > 0$.[/step]