Solution (source code)

= Solution

Choose a countable <dense subset> $\{x_1,x_2,\ldots\}$ of the <normed vector space> $X$. For each fixed $j$, the scalar sequence $(f_n(x_j))$ is bounded because
$$
|f_n(x_j)|\leq\|f_n\|\,\|x_j\|\leq\|x_j\|.
$$
Repeated use of the <Bolzano-Weierstrass theorem> followed by a <diagonal subsequence argument> produces a subsequence $(f_n)_{n\in\Lambda}$ for which $f_n(x_j)$ converges for every $j$.

Let $D$ be the linear span of the $x_j$. On every $x\in D$, define
$$
f(x)=\lim_{\substack{n\in\Lambda\\n\to\infty}}f_n(x).
$$
Finite linear combinations show that $f:D\to\mathbb R$ is linear, and passage to the limit in $|f_n(x)|\leq\|x\|$ gives $|f(x)|\leq\|x\|$. Thus $f$ is a <bounded linear functional> on the dense linear subspace $D$ and extends uniquely to an element of the <dual space> $X^*$ with $\|f\|\leq1$.

For arbitrary $x\in X$ and $y\in D$,
$$
|f_n(x)-f(x)|
\leq|f_n(x-y)|+|f_n(y)-f(y)|+|f(y-x)|
\leq2\|x-y\|+|f_n(y)-f(y)|.
$$
First choose $y$ close to $x$, then let $n\in\Lambda$ tend to infinity. This proves
$$
\boxed{f_n(x)\longrightarrow f(x)\quad\text{for every }x\in X}.
$$
This is the <Sequential Banach-Alaoglu theorem for a separable predual>.