[proofplan]
We enumerate the [countable set](/page/Countable%20Set) $X$ and repeatedly pass to subsequences, making the values converge at one enumerated point at a time. Pointwise boundedness makes each scalar coordinate sequence bounded, so Bolzano-Weierstrass gives a convergent subsequence at that coordinate. The diagonal subsequence is then chosen from the successive subsequences; for each fixed point of $X$, its tail lies inside a subsequence already known to converge at that point.
[/proofplan]
custom_env
admin
[step:Handle the vacuous case when $X$ is empty]
If $X=\varnothing$, define $k_j:=j$ for every $j \in \mathbb{N}$. Then $(k_j)_{j=1}^{\infty}$ is strictly increasing, and $(f_{k_j})_{j=1}^{\infty}$ converges pointwise on $X$ because there is no point $x \in X$ at which convergence must be checked. Hence the conclusion holds in this case.
For the rest of the proof, assume $X \neq \varnothing$.
[/step]
custom_env
admin
[step:Enumerate the countable set and initialize the index sequence]
Since $X$ is countable and nonempty, choose a surjective map
\begin{align*}
e:\mathbb{N} \to X.
\end{align*}
For each $n \in \mathbb{N}$, define $x_n:=e(n)$. Thus every point of $X$ is equal to $x_n$ for at least one $n \in \mathbb{N}$. If $X$ is finite, this enumeration may repeat points.
Define the initial strictly increasing index map
\begin{align*}
K_0:\mathbb{N} \to \mathbb{N}
\end{align*}
by $K_0(j):=j$ for every $j \in \mathbb{N}$.
[/step]
custom_env
admin
[step:Construct nested subsequences that converge at more enumerated points]We construct, by induction on $n \in \mathbb{N}$, strictly increasing maps
\begin{align*}
K_n:\mathbb{N} \to \mathbb{N}
\end{align*}
such that $K_n(\mathbb{N}) \subset K_{n-1}(\mathbb{N})$ and the scalar sequence
\begin{align*}
\bigl(f_{K_n(j)}(x_n)\bigr)_{j=1}^{\infty}
\end{align*}
converges in $\mathbb{K}$.
Assume that $K_{n-1}:\mathbb{N}\to\mathbb{N}$ has already been constructed and is strictly increasing. By pointwise boundedness at the point $x_n \in X$, there exists $M_{x_n}<\infty$ such that
\begin{align*}
|f_k(x_n)| \leq M_{x_n}
\end{align*}
for every $k \in \mathbb{N}$. Therefore the scalar sequence
\begin{align*}
\bigl(f_{K_{n-1}(j)}(x_n)\bigr)_{j=1}^{\infty}
\end{align*}
is bounded in $\mathbb{K}$.
By the [Bolzano-Weierstrass theorem](/theorems/628) in $\mathbb{R}$ or $\mathbb{C}$, this bounded scalar sequence has a convergent subsequence. Equivalently, there exists a strictly increasing map
\begin{align*}
m_n:\mathbb{N} \to \mathbb{N}
\end{align*}
such that
\begin{align*}
\bigl(f_{K_{n-1}(m_n(j))}(x_n)\bigr)_{j=1}^{\infty}
\end{align*}
converges in $\mathbb{K}$. Define
\begin{align*}
K_n:\mathbb{N} \to \mathbb{N}
\end{align*}
by
\begin{align*}
K_n(j):=K_{n-1}(m_n(j)).
\end{align*}
Since $K_{n-1}$ and $m_n$ are strictly increasing, $K_n$ is strictly increasing. Also $K_n(\mathbb{N}) \subset K_{n-1}(\mathbb{N})$, and the sequence $\bigl(f_{K_n(j)}(x_n)\bigr)_{j=1}^{\infty}$ converges by construction.[/step]
custom_env
admin
[guided]The goal of the induction is to build a nested family of subsequences. At stage $n$, we do not try to preserve all future points; we only force convergence at the single point $x_n$, while keeping the subsequence inside all previously selected subsequences.
Assume that we have already chosen a strictly increasing map
\begin{align*}
K_{n-1}:\mathbb{N} \to \mathbb{N}.
\end{align*}
This map lists the indices of the current subsequence. We now examine the scalar values at the next enumerated point $x_n$. Since the original sequence $(f_k)_{k=1}^{\infty}$ is pointwise bounded on $X$, there is a constant $M_{x_n}<\infty$ such that
\begin{align*}
|f_k(x_n)| \leq M_{x_n}
\end{align*}
for every $k \in \mathbb{N}$. In particular, the already selected values also satisfy
\begin{align*}
|f_{K_{n-1}(j)}(x_n)| \leq M_{x_n}
\end{align*}
for every $j \in \mathbb{N}$. Hence
\begin{align*}
\bigl(f_{K_{n-1}(j)}(x_n)\bigr)_{j=1}^{\infty}
\end{align*}
is a bounded sequence in $\mathbb{K}$.
We now apply the Bolzano-Weierstrass theorem in $\mathbb{R}$ if $\mathbb{K}=\mathbb{R}$ and in $\mathbb{C}$ if $\mathbb{K}=\mathbb{C}$; in the complex case this is equivalently obtained by applying the real theorem to the real and imaginary parts. Its hypothesis is exactly boundedness of the scalar sequence, which we have just verified. Therefore there is a strictly increasing map
\begin{align*}
m_n:\mathbb{N} \to \mathbb{N}
\end{align*}
such that the subsequence
\begin{align*}
\bigl(f_{K_{n-1}(m_n(j))}(x_n)\bigr)_{j=1}^{\infty}
\end{align*}
converges in $\mathbb{K}$.
We encode this new subsequence by defining
\begin{align*}
K_n:\mathbb{N} \to \mathbb{N}
\end{align*}
through
\begin{align*}
K_n(j):=K_{n-1}(m_n(j)).
\end{align*}
Because both $K_{n-1}$ and $m_n$ are strictly increasing maps from $\mathbb{N}$ to $\mathbb{N}$, their composition $K_n$ is strictly increasing. Also every value of $K_n$ is a value of $K_{n-1}$, so $K_n(\mathbb{N}) \subset K_{n-1}(\mathbb{N})$. Thus the subsequences are nested, and the $n$th one converges at the point $x_n$.[/guided]
custom_env
admin
[step:Choose the diagonal indices]
Define the diagonal index sequence $(k_j)_{j=1}^{\infty}$ by
\begin{align*}
k_j:=K_j(j)
\end{align*}
for every $j \in \mathbb{N}$.
We verify that $(k_j)_{j=1}^{\infty}$ is strictly increasing. Let $j \in \mathbb{N}$. Since $K_{j+1}(\mathbb{N}) \subset K_j(\mathbb{N})$, there exists $r_j \in \mathbb{N}$ such that
\begin{align*}
K_{j+1}(j+1)=K_j(r_j).
\end{align*}
Because $K_{j+1}$ is strictly increasing and $K_{j+1}(\mathbb{N}) \subset K_j(\mathbb{N})$, the first $j+1$ values of $K_{j+1}$ must occur among values of $K_j$ with indices at least $1,\dots,j+1$ in increasing order. Hence $r_j\geq j+1$. Since $K_j$ is strictly increasing,
\begin{align*}
k_{j+1}=K_{j+1}(j+1)=K_j(r_j)>K_j(j)=k_j.
\end{align*}
Thus $(k_j)_{j=1}^{\infty}$ is strictly increasing.
[/step]
custom_env
admin
[step:Verify pointwise convergence of the diagonal subsequence]
Fix $x \in X$. Since $e:\mathbb{N}\to X$ is surjective, choose $n \in \mathbb{N}$ such that $x=x_n$. By construction, the sequence
\begin{align*}
\bigl(f_{K_n(j)}(x_n)\bigr)_{j=1}^{\infty}
\end{align*}
converges in $\mathbb{K}$.
For every $j\geq n$, the index $k_j=K_j(j)$ belongs to $K_n(\mathbb{N})$, because the ranges are nested:
\begin{align*}
K_j(\mathbb{N}) \subset K_n(\mathbb{N}).
\end{align*}
Therefore the tail
\begin{align*}
\bigl(f_{k_j}(x_n)\bigr)_{j=n}^{\infty}
\end{align*}
is a subsequence of the convergent scalar sequence
\begin{align*}
\bigl(f_{K_n(j)}(x_n)\bigr)_{j=1}^{\infty}.
\end{align*}
Every subsequence of a convergent sequence has the same limit, so
\begin{align*}
\bigl(f_{k_j}(x_n)\bigr)_{j=1}^{\infty}
\end{align*}
converges in $\mathbb{K}$. Since $x=x_n$, this proves that $(f_{k_j}(x))_{j=1}^{\infty}$ converges for the chosen point $x$.
Because $x \in X$ was arbitrary, $(f_{k_j})_{j=1}^{\infty}$ converges pointwise on $X$. This completes the proof.
[/step]