Showing that all non-empty compact, dense-in-themselves metric spaces are uncountable.

We first note that for any $x \in X$ and any $\varepsilon > 0$ the closed ball $\bar{B}_\varepsilon(x) = \{ y \in X : d(x, y) \leq \varepsilon \}$ contains at least two points. This is direct because it contains the nonempty open ball $B_\varepsilon(x)$. Point of terminology: I will only consider closed balls with nonzero radius, so every closed ball will contain at least two points.

By induction we will construct closed balls $C_\sigma$, indexed by finite sequences of $0$s and $1$s. That is, for each finite sequence $\sigma$ of $0$s and $1$s we will construct some closed ball $C_\sigma$. Furthermore, we will do this such that for any $\sigma$:

  1. $C_{\sigma \frown 0} \subseteq C_\sigma$ and $C_{\sigma \frown 1} \subseteq C_\sigma$;
  2. $C_{\sigma \frown 0} \cap C_{\sigma \frown 1} = \emptyset$.

Here $\sigma \frown i$ denotes the sequence $\sigma$ with $i$ appended to it. So you can picture this as an infinite binary tree of closed balls. The further you go down a branch, the smaller the balls get. And at every node, the two next balls are disjoint.

We can start by taking $C_\emptyset$ to be any closed ball (where $\emptyset$ is the empty sequence). Having constructed all $C_\sigma$ for sequences of length $n$ we are going to construct the next layer. Let $\sigma$ be any sequence of length $n$ and pick two distinct points $x, y \in C_\sigma$. Let $\varepsilon > 0$ be small enough such that $\bar{B}_\varepsilon(x)$ and $\bar{B}_\varepsilon(y)$ are contained in $C_\sigma$, but are also disjoint (exercise: show that we can do this). Set $C_{\sigma \frown 0} = \bar{B}_\varepsilon(x)$ and $C_{\sigma \frown 1} = \bar{B}_\varepsilon(y)$. We do this for each such $\sigma$, and this completes the induction.

We will now need an equivalent formulation of compactness, but its equivalence to the finite subcover formulation is really elementary (again: exercise).

A topological space is compact if whenever a family of closed sets has the finite intersection property (i.e. every finite subfamily has nonempty intersection) then the entire family has nonempty intersection.

In notation: if $\{F_i\}_{i \in I}$ is some family of closed sets such that for any finite $I_0 \subseteq I$ we have $\bigcap_{i \in I_0} F_i \neq \emptyset$ then $\bigcap_{i \in I} F_i \neq \emptyset$.

We will view an infinite sequence of $0$s and $1$s as a function $f: \mathbb{N} \to \{0,1\}$. We will write $f \upharpoonright n$ for the initial sequence of length $n$. Let $f$ be such an infinite sequence. Then we consider the family of closed sets $\{C_{f \upharpoonright n} : n \in \mathbb{N}\}$. This family has the finite intersection property. Indeed, by construction we have a decreasing chain $C_{f \upharpoonright 0} \supseteq C_{f \upharpoonright 1} \supseteq \ldots$, so any finite part will have exactly intersection $C_{f \upharpoonright n}$ for some $n$. By compactness we thus have that $\bigcap \{C_{f \upharpoonright n} : n \in \mathbb{N}\}$ is nonempty, and we may pick some $x_f$ in that set.

So now we have $x_f$ for every $f: \mathbb{N} \to \{0,1\}$, and of the latter there are uncountably many. All that remains to show is that this assignment is injective. That is, for $f \neq g$ we have $x_f \neq x_g$. Let $n$ be the first $n$ such that $f(n) \neq g(n)$. Then by point 2 in the inductive construction we have $C_{f \upharpoonright n} \cap C_{g \upharpoonright n} = \emptyset$. At the same time we have $x_f \in C_{f \upharpoonright n}$ and $x_g \in C_{g \upharpoonright n}$, which concludes our proof.


A countable metric space that is dense-in-itself is homeomorphic to $\Bbb Q$ (see a proof here); This is due to Sierpiński and classic. $\Bbb Q$ is not compact (not bounded so a cover without a finite subcover is trivial to find) so you're done.