I had an exam yesterday in topology and was asked to show that a limit-point compact metric space must be sequentially compact. I provided this argument, which I believe to be right, but am pretty sure it could've been significantly simplified, and would appreciate anyone pointing to how.
Suppose that $(X, d)$ is a limit-point compact metric space, that is every infinite subset of $X$ has a limit point, and let $(x_{k})_{k \in \mathbb{N}}$ be a sequence in $X$. Consider $S = \{ x_{k} : k \in \mathbb{N} \}$. If $S$ is finite, then $(x_{k})$ has a constant subsequence, which obviously converges, so suppose $S$ is infinite. Then by limit-point compactness, there exists $p \in X$ such that $B(p, \epsilon) \cap S \setminus \{p\} \neq \emptyset$ for every $\epsilon > 0$.
We first construct a pseudo-subsequence of $(x_k)$ as follows: Let $k_{1} \in \mathbb{N}$ such that $x_{k_{1}} \in B(p, 1) \setminus \{p\}$. Now for the next step, for some $N \in \mathbb{N}$, suppose that $k_{1}, \ldots, k_{N}$ have been constructed, and set $c_{N} = \min \{ (N + 1)^{-1}, d(p, x_{k_{1}}), \ldots, d(p, k_{k_{N}}) \}$. Then there exists $k_{N + 1}$ such that $x_{k_{N + 1}} \in B(p, c_{N}) \setminus \{p\}$.
Note that by construction, we know that $d(p, x_{k_{N}}) < 1 / N$, so $\lim_{N \to \infty} x_{k_{N}} = p$, and moreover that $N \mapsto d(p, x_{k_{N}})$ is strictly decreasing, so $N \mapsto k_{N}$ is injective. But the problem we have so far is that we haven't assured that $N \mapsto k_{N}$ is strictly increasing, so we can't yet properly call $(x_{k_{N}})_{N \in \mathbb{N}}$ a subsequence.
To remedy this, we "shuffle around" $I = \{ k_{N} : N \in \mathbb{N} \}$ by constructing a map $\mathbb{N} \to I$ as $M(1) = \min I, M(j + 1) = \min ( I \setminus \{ k_{M(1)}, \ldots, k_{M(j)} \} )$. This map is strictly increasing, so $(x_{k_{M(j)}})_{j \in \mathbb{N}}$ is in fact an actual subsequence.
Finally, to show this sequence converges to $P$, let $K \in \mathbb{N}$, and let $J = \max \{ j \in \mathbb{N} : M(j) < K \}$. So if $j > J$, then $k_{M(j)} = k_{N}$ for some $N > K$, and therefore $d(p, x_{k_{M(j)}}) < 1 / K$. So $\lim_{j \to \infty} x_{k_{M(j)}} = p$.
Do it all at once in the infinite case. Let $n_0=\min\{n\in\Bbb N:d(p,x_n)<1\}$. Given $n_k$ for some $k\in\Bbb N$, let
$$n_{k+1}=\min\left\{n\in\Bbb N:d(p,x_n)<2^{-(k+1)}\text{ and }n>n_k\right\}\;.\tag{1}$$
This clearly ensures that $\langle n_k:k\in\Bbb N\rangle$ is strictly increasing, and that $\langle x_{n_k}:k\in\Bbb N\rangle$ converges to $p$; you just have to make sure that the set in $(1)$ is non-empty at each stage. But that’s clear: if it were empty, $\{x_n:n\in\Bbb N\}$ would have only finitely many members in the ball $B\left(p,2^{-(k+1)}\right)$, which is impossible