[proofplan]
We argue by contradiction. Suppose that for some $\varepsilon_0 > 0$, every convex combination of the $x_n$ has norm $\geq \varepsilon_0$. Equivalently, the convex set $K := \operatorname{conv}\{x_n : n \in \mathbb{N}\}$ is disjoint from the open ball $B(0, \varepsilon_0)$. We separate $0$ from $K$ by a continuous linear functional using the Hahn-Banach geometric form: there exists $f \in X^*$ and $c \in \mathbb{R}$ with $\operatorname{Re} f(x) \geq c > \operatorname{Re} f(0) = 0$ for all $x \in K$. Restricting to the sequence $(x_n) \subset K$ gives $\operatorname{Re} f(x_n) \geq c > 0$, contradicting weak null-convergence $f(x_n) \to f(0) = 0$.
[/proofplan]
[step:Pass to the contrapositive and identify a forbidden ball around $0$]
Suppose for contradiction that there exists $\varepsilon_0 > 0$ such that $\|x\| \geq \varepsilon_0$ for every $x \in K := \operatorname{conv}\{x_n : n \in \mathbb{N}\}$. Equivalently,
\begin{align*}
K \cap B(0, \varepsilon_0) = \varnothing,
\end{align*}
where $B(0, \varepsilon_0) = \{x \in X : \|x\| < \varepsilon_0\}$ is the open norm ball. Note $K$ is convex (the convex hull of any set is convex by definition). Note also that $B(0, \varepsilon_0)$ is open, convex, contains $0$, and is non-empty.
[guided]
The conclusion to prove is $\inf_{x \in K} \|x\| = 0$. The negation is: there exists $\varepsilon_0 > 0$ with $\|x\| \geq \varepsilon_0$ for all $x \in K$. We work under this negation and derive a contradiction.
Geometrically, the negation says that $K$ stays at distance at least $\varepsilon_0$ from the origin in norm — equivalently, the open ball $B(0, \varepsilon_0)$ is disjoint from $K$. We will use this disjointness to invoke a separation theorem.
The key observation is that we have two convex sets that are disjoint:
- $K$ — a non-empty convex set (convex hull of a sequence).
- $B(0, \varepsilon_0)$ — an open convex set containing $0$.
Separation theorems exist precisely for this configuration.
[/guided]
[/step]
[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$.
[guided]
The geometric Hahn-Banach theorem in its general form gives a hyperplane separating any two disjoint non-empty convex sets, with strict separation on the open side. The proof reduces to [Separation from a Convex Set Containing 0](/theorems/2654) by the standard "difference set" trick: $A$ and $B$ are disjoint iff $0 \notin A - B$.
In our setting, $A = B(0, \varepsilon_0)$ and $B = K$. The hypotheses are met:
- $A$ is open: it is the norm ball of radius $\varepsilon_0$, which is an open set in any normed space topology.
- $A$ is convex: norm balls are convex by the triangle inequality.
- $A$ is non-empty: $0 \in A$.
- $B = K$ is non-empty: $x_1 \in K$.
- $B$ is convex: convex hulls are convex by definition.
- $A \cap B = \varnothing$: by the contradiction hypothesis from Step 1.
The separation theorem yields $f \in X^*$ and $c \in \mathbb{R}$ with $f(z) < c \leq f(y)$ for $z \in B(0, \varepsilon_0)$, $y \in K$. The constant $c$ is strictly positive: take $z = 0$ to see $0 < c$. (More generally, the constant $c$ measures the "gap" between the two sets in the direction of $f$.)
[/guided]
[/step]
[step:Derive a contradiction from weak null-convergence]
Each $x_n \in K$ (singletons are convex hulls of themselves; $K$ is the convex hull of $\{x_n : n \in \mathbb{N}\}$ which contains each $x_n$). By Step 2, $f(x_n) \geq c > 0$ for every $n$.
On the other hand, $x_n \rightharpoonup 0$ in $X$ means $f(x_n) \to f(0) = 0$ for every $f \in X^*$. In particular for our $f$, $f(x_n) \to 0$. So
\begin{align*}
0 = \lim_{n \to \infty} f(x_n) \geq c > 0,
\end{align*}
a contradiction. The contradiction refutes the assumption from Step 1, so for every $\varepsilon > 0$ there exists $x \in \operatorname{conv}\{x_n : n \in \mathbb{N}\}$ with $\|x\| < \varepsilon$.
[guided]
We exploit the key property of weak convergence: $x_n \rightharpoonup 0$ means **every** continuous linear functional, evaluated at $x_n$, tends to $0$. We chose a particular such functional $f$ in Step 2. By construction, $f(x_n) \geq c > 0$ for all $n$, since each $x_n$ lies in $K$. The two facts collide:
\begin{align*}
\liminf_{n \to \infty} f(x_n) \geq c > 0 \quad \text{but also} \quad \lim_{n \to \infty} f(x_n) = 0.
\end{align*}
This contradiction shows the hypothesis from Step 1 is untenable: there cannot exist $\varepsilon_0 > 0$ with $\|x\| \geq \varepsilon_0$ for all $x \in K$. Hence $\inf_{x \in K} \|x\| = 0$, which is the desired conclusion: for every $\varepsilon > 0$ there is $x \in K$ with $\|x\| < \varepsilon$.
[/guided]
[/step]