[proofplan]
We prove the contrapositive: if $\|x_n - x\|_{\ell^1} \not\to 0$, then $x_n \not\rightharpoonup x$ [weakly](/page/Weak%20Topology). After replacing $x_n$ by $x_n - x$, we reduce to showing that if $y_n \rightharpoonup 0$ weakly in $\ell^1$, then $\|y_n\|_{\ell^1} \to 0$. Assuming for contradiction that $\|y_n\|_{\ell^1} \ge \varepsilon > 0$ along a subsequence, we use coordinate-wise convergence (from [weak convergence](/page/Weak%20Convergence)) to perform a "gliding hump" construction: we extract a subsequence and disjoint blocks of coordinates on which the mass concentrates. We then build a functional $a \in \ell^\infty \cong (\ell^1)^*$ with $a_k = \operatorname{sgn}(y_{n_i, k})$ on the $i$-th block, producing $f_a(y_{n_i}) \ge \varepsilon/2 > 0$ for all $i$ and contradicting $f_a(y_{n_i}) \to 0$.
[/proofplan]
[step:Reduce to the case $x = 0$ and extract a subsequence bounded away from zero]
By linearity, $x_n \rightharpoonup x$ in $\ell^1$ if and only if $y_n := x_n - x \rightharpoonup 0$, and $\|x_n - x\|_{\ell^1} \to 0$ if and only if $\|y_n\|_{\ell^1} \to 0$. So it suffices to prove: if $y_n \rightharpoonup 0$ in $\ell^1$, then $\|y_n\|_{\ell^1} \to 0$.
Suppose for contradiction that $\|y_n\|_{\ell^1} \not\to 0$. Then there exist $\varepsilon > 0$ and a subsequence (still denoted $\{y_n\}$) with $\|y_n\|_{\ell^1} \ge \varepsilon$ for all $n \in \mathbb{N}$. We retain the assumption $y_n \rightharpoonup 0$.
[guided]
The reduction to $x = 0$ is standard: weak convergence and norm convergence are both translation-invariant. Replacing $x_n$ by $x_n - x$ does not change whether the conclusions hold.
After the reduction, we assume $y_n \rightharpoonup 0$ (meaning $f(y_n) \to 0$ for every $f \in (\ell^1)^*$) and $\|y_n\|_{\ell^1} \ge \varepsilon > 0$ for all $n$. The goal is to derive a contradiction by constructing a functional $f \in (\ell^1)^*$ for which $f(y_n) \not\to 0$.
[/guided]
[/step]
[step:Establish coordinate-wise convergence to zero from weak convergence]
Since $(\ell^1)^* \cong \ell^\infty$ isometrically (via the pairing $f_a(y) = \sum_{k=1}^\infty a_k y_k$ for $a = (a_k) \in \ell^\infty$), weak convergence $y_n \rightharpoonup 0$ means
\begin{align*}
\sum_{k=1}^\infty a_k \, y_{n,k} \to 0 \quad \text{for every } (a_k) \in \ell^\infty,
\end{align*}
where $y_{n,k}$ denotes the $k$-th component of $y_n$. Testing against the standard basis vector $e_j = (\delta_{jk})_{k=1}^\infty \in \ell^\infty$ gives
\begin{align*}
y_{n,j} \to 0 \quad \text{as } n \to \infty, \text{ for each fixed } j \in \mathbb{N}.
\end{align*}
[guided]
The dual of $\ell^1$ is $\ell^\infty$, with duality pairing $f_a(y) = \sum_{k=1}^\infty a_k y_k$ for $a \in \ell^\infty$ and $y \in \ell^1$. This series converges absolutely: $|a_k y_k| \le \|a\|_{\ell^\infty} |y_k|$ and $\sum |y_k| = \|y\|_{\ell^1} < \infty$.
Testing against $e_j \in \ell^\infty$ gives $y_{n,j} \to 0$ for each $j$. This coordinate-wise convergence is the foundation of the gliding hump construction: the $\ell^1$-mass of $y_n$ cannot remain on any fixed finite set of coordinates, and must migrate to higher indices as $n \to \infty$.
[/guided]
[/step]
[step:Construct blocks of coordinates carrying definite mass via the gliding hump]
We inductively build a subsequence $\{y_{n_i}\}_{i=1}^\infty$ and an increasing sequence of integers $0 = N_0 < N_1 < N_2 < \cdots$ such that for each $i \in \mathbb{N}$:
\begin{align*}
&\text{(a)} \quad \sum_{k=1}^{N_{i-1}} |y_{n_i, k}| < \frac{\varepsilon}{8}, \\
&\text{(b)} \quad \sum_{k=N_{i-1}+1}^{N_i} |y_{n_i, k}| \ge \frac{3\varepsilon}{4}, \\
&\text{(c)} \quad \sum_{k=N_i+1}^{\infty} |y_{n_i, k}| < \frac{\varepsilon}{8}.
\end{align*}
**Base case ($i=1$).** Set $n_1 = 1$ and $N_0 = 0$. Condition (a) is vacuous. Since $\|y_{n_1}\|_{\ell^1} = \sum_{k=1}^\infty |y_{n_1,k}| \ge \varepsilon$, choose $N_1$ large enough that $\sum_{k > N_1} |y_{n_1, k}| < \varepsilon/8$. Then
\begin{align*}
\sum_{k=1}^{N_1} |y_{n_1, k}| = \|y_{n_1}\|_{\ell^1} - \sum_{k > N_1} |y_{n_1, k}| > \varepsilon - \frac{\varepsilon}{8} = \frac{7\varepsilon}{8} \ge \frac{3\varepsilon}{4}.
\end{align*}
**Inductive step.** Suppose $n_1 < \cdots < n_i$ and $N_0 < \cdots < N_i$ have been chosen. By coordinate-wise convergence, for each fixed $k$, $|y_{n, k}| \to 0$ as $n \to \infty$. Summing over the finite set $\{1, \ldots, N_i\}$,
\begin{align*}
\sum_{k=1}^{N_i} |y_{n, k}| \to 0 \quad \text{as } n \to \infty.
\end{align*}
Choose $n_{i+1} > n_i$ large enough that $\sum_{k=1}^{N_i} |y_{n_{i+1}, k}| < \varepsilon/8$. This gives condition (a). Since $\|y_{n_{i+1}}\|_{\ell^1} \ge \varepsilon$,
\begin{align*}
\sum_{k=N_i+1}^{\infty} |y_{n_{i+1}, k}| = \|y_{n_{i+1}}\|_{\ell^1} - \sum_{k=1}^{N_i} |y_{n_{i+1}, k}| > \varepsilon - \frac{\varepsilon}{8} = \frac{7\varepsilon}{8}.
\end{align*}
Choose $N_{i+1} > N_i$ large enough that $\sum_{k > N_{i+1}} |y_{n_{i+1}, k}| < \varepsilon/8$. This gives condition (c), and for condition (b):
\begin{align*}
\sum_{k=N_i+1}^{N_{i+1}} |y_{n_{i+1}, k}| = \sum_{k=N_i+1}^{\infty} |y_{n_{i+1}, k}| - \sum_{k > N_{i+1}} |y_{n_{i+1}, k}| > \frac{7\varepsilon}{8} - \frac{\varepsilon}{8} = \frac{3\varepsilon}{4}.
\end{align*}
[guided]
This is the "gliding hump" construction — the heart of the proof. The name comes from the mental picture: as $i$ increases, the $\ell^1$-mass of $y_{n_i}$ is concentrated on the block $\{N_{i-1}+1, \ldots, N_i\}$, which slides rightward along the natural numbers, like a hump moving to the right.
Why does the mass slide? Because $y_{n,k} \to 0$ for each fixed $k$, the mass on any fixed finite block $\{1, \ldots, N\}$ eventually drains to zero. But the total mass $\|y_n\|_{\ell^1} \ge \varepsilon$ persists, so it must be carried by coordinates beyond $N$.
At each stage $i$, we:
1. Wait until the mass on the "old" coordinates $\{1, \ldots, N_i\}$ has drained below $\varepsilon/8$ (condition (a), from coordinate-wise convergence).
2. The remaining mass $\ge 7\varepsilon/8$ lies on $\{N_i + 1, N_i + 2, \ldots\}$.
3. Truncate the tail to capture at least $3\varepsilon/4$ in a finite block $\{N_i + 1, \ldots, N_{i+1}\}$ (condition (b)), with tail error below $\varepsilon/8$ (condition (c)).
The tolerance $\varepsilon/8$ on each side is chosen so that the block captures $3\varepsilon/4$ of the mass, and the error terms $|S_1| + |S_3| < \varepsilon/4$ leave a clean lower bound of $\varepsilon/2$ in the final estimate.
[/guided]
[/step]
[step:Build a bounded functional in $\ell^\infty$ that detects the blocks]
For each $i \in \mathbb{N}$ and each $k \in \{N_{i-1}+1, \ldots, N_i\}$, define
\begin{align*}
a_k := \operatorname{sgn}(y_{n_i, k}) = \begin{cases} +1 & \text{if } y_{n_i, k} > 0, \\ -1 & \text{if } y_{n_i, k} < 0, \\ 0 & \text{if } y_{n_i, k} = 0. \end{cases}
\end{align*}
This defines $a = (a_k)_{k=1}^\infty$ with $|a_k| \le 1$ for all $k$, so $a \in \ell^\infty$ with $\|a\|_{\ell^\infty} \le 1$. The corresponding functional is
\begin{align*}
f_a: \ell^1 &\to \mathbb{R}, \quad y \mapsto \sum_{k=1}^\infty a_k \, y_k.
\end{align*}
[guided]
The functional $f_a$ is tailored to "detect" the mass on each block. On the $i$-th block $\{N_{i-1}+1, \ldots, N_i\}$, the sign of $a_k$ matches the sign of $y_{n_i, k}$, so $a_k \cdot y_{n_i, k} = |y_{n_i, k}|$. This converts the sum $\sum a_k y_{n_i, k}$ over the block into the sum of absolute values $\sum |y_{n_i, k}| \ge 3\varepsilon/4$.
On other blocks, $a_k$ is tailored to different subsequential elements, so the signs may be "wrong." The gliding hump construction ensures these misaligned contributions are negligible.
[/guided]
[/step]
[step:Show $f_a(y_{n_i}) \ge \varepsilon/2$ for all $i$, contradicting weak convergence]
Decompose $f_a(y_{n_i})$ into contributions from coordinates below, within, and above the $i$-th block:
\begin{align*}
f_a(y_{n_i}) &= \underbrace{\sum_{k=1}^{N_{i-1}} a_k \, y_{n_i, k}}_{=: S_1} + \underbrace{\sum_{k=N_{i-1}+1}^{N_i} a_k \, y_{n_i, k}}_{=: S_2} + \underbrace{\sum_{k=N_i+1}^{\infty} a_k \, y_{n_i, k}}_{=: S_3}.
\end{align*}
**Estimate of $S_2$ (the block term).** By construction, $a_k = \operatorname{sgn}(y_{n_i, k})$ for $k \in \{N_{i-1}+1, \ldots, N_i\}$, so $a_k \, y_{n_i,k} = |y_{n_i, k}|$ and
\begin{align*}
S_2 = \sum_{k=N_{i-1}+1}^{N_i} |y_{n_i, k}| \ge \frac{3\varepsilon}{4}.
\end{align*}
**Estimate of $|S_1|$ (low-coordinate error).** Since $|a_k| \le 1$,
\begin{align*}
|S_1| \le \sum_{k=1}^{N_{i-1}} |y_{n_i, k}| < \frac{\varepsilon}{8}
\end{align*}
by condition (a) of the gliding hump construction.
**Estimate of $|S_3|$ (tail error).** Since $|a_k| \le 1$,
\begin{align*}
|S_3| \le \sum_{k=N_i+1}^{\infty} |y_{n_i, k}| < \frac{\varepsilon}{8}
\end{align*}
by condition (c) of the gliding hump construction.
**Combining.** Since $S_2 \ge 0$ and $f_a(y_{n_i}) = S_1 + S_2 + S_3$, we obtain
\begin{align*}
f_a(y_{n_i}) \ge S_2 - |S_1| - |S_3| > \frac{3\varepsilon}{4} - \frac{\varepsilon}{8} - \frac{\varepsilon}{8} = \frac{\varepsilon}{2} > 0 \quad \text{for all } i \in \mathbb{N}.
\end{align*}
Therefore $f_a(y_{n_i}) \ge \varepsilon/2$ for all $i$, so $f_a(y_{n_i}) \not\to 0$.
But $y_n \rightharpoonup 0$ implies $f_a(y_n) \to 0$ for every $f_a \in (\ell^1)^*$, so in particular $f_a(y_{n_i}) \to 0$ along the subsequence. This is a contradiction.
[guided]
The decomposition $f_a(y_{n_i}) = S_1 + S_2 + S_3$ is the payoff of the gliding hump construction. The block $\{N_{i-1}+1, \ldots, N_i\}$ is where $a$ is "aligned" with $y_{n_i}$ (both have the same sign pattern), producing the large positive contribution $S_2 \ge 3\varepsilon/4$. The error terms $S_1$ and $S_3$ come from coordinates where $a$ may be misaligned with $y_{n_i}$, but these are controlled by the gliding hump conditions:
- $|S_1| < \varepsilon/8$ because the low coordinates of $y_{n_i}$ have negligible mass (we waited until coordinate-wise convergence drained this region).
- $|S_3| < \varepsilon/8$ because the tail of $y_{n_i}$ beyond $N_i$ has negligible mass (we truncated the tail).
The net contribution satisfies $f_a(y_{n_i}) > 3\varepsilon/4 - \varepsilon/4 = \varepsilon/2 > 0$, a uniform lower bound independent of $i$, contradicting $f_a(y_{n_i}) \to 0$.
This argument exploits a feature special to $\ell^1$: the dual is $\ell^\infty$, which contains bounded sequences of arbitrary sign. In $\ell^p$ for $p > 1$, the dual $\ell^q$ (with $q < \infty$) does not contain the sequence $a = (\pm 1, \pm 1, \ldots)$ because $\|a\|_{\ell^q} = \infty$ when $q < \infty$. This is why Schur's property — weak convergence implies norm convergence — is unique to $\ell^1$ among the $\ell^p$ spaces.
[/guided]
[/step]
[step:Conclude that weak convergence implies norm convergence in $\ell^1$]
The contradiction shows that $\|y_n\|_{\ell^1} \ge \varepsilon$ for all $n$ is impossible when $y_n \rightharpoonup 0$. Therefore $\|y_n\|_{\ell^1} \to 0$, and undoing the translation $y_n = x_n - x$ gives $\|x_n - x\|_{\ell^1} \to 0$.
[/step]