[proofplan]
We split the proof into two cases. First, we establish the result for [closed subsets](/page/Closed%20Set): if $F$ is an uncountable closed subset of a Polish space $X$, the Cantor-Bendixson [derivative](/page/Derivative) — iterated transfinitely — removes at most countably many isolated points at each step, producing a nonempty perfect kernel $K \subset F$ that is closed in $X$. Second, we extend to arbitrary uncountable Borel sets by appealing to [Alexandrov's Theorem](/theorems/966): every Borel subset of a Polish space is Polish in a (possibly finer) topology, reducing the problem to the closed case. In either case, the perfect set contains a homeomorphic copy of the Cantor space $\{0,1\}^\mathbb{N}$, giving $|B| = \mathfrak{c}$.
[/proofplan]
[step:Prove the result for uncountable closed subsets via the Cantor-Bendixson derivative]
Let $F$ be an uncountable closed subset of the Polish space $(X, d)$. Since $F$ is closed in a complete [metric space](/page/Metric%20Space), $F$ is complete by [Completeness and Closedness of Subspaces](/theorems/287). Since $F$ is a subspace of the separable metrizable space $X$, $F$ is separable by [Subspaces of Separable Metrizable Spaces](/theorems/942). By [Equivalence of Separability Conditions in Metrizable Spaces](/theorems/545), the separable metrizable space $F$ is second-[countable](/page/Countable%20Set); fix a countable base $\{B_n\}_{n=1}^\infty$ for $F$.
Define the **Cantor-Bendixson derivative** of a subset $A \subset F$:
\begin{align*}
A' := \{x \in A : x \text{ is a limit point of } A\} = \{x \in A : \forall\, r > 0,\; B_d(x, r) \cap (A \setminus \{x\}) \neq \varnothing\}.
\end{align*}
Define by transfinite recursion: $F_0 := F$, $F_{\alpha+1} := (F_\alpha)'$, and $F_\lambda := \bigcap_{\alpha < \lambda} F_\alpha$ for limit ordinals $\lambda$.
**Each $F_\alpha$ is closed in $X$.** By transfinite induction. Base: $F_0 = F$ is closed. Successor: if $F_\alpha$ is closed in $X$, then the set $I_\alpha := F_\alpha \setminus F_{\alpha+1}$ consists of isolated points of $F_\alpha$. For each $x \in I_\alpha$ there exists $r_x > 0$ with $B_d(x, r_x) \cap F_\alpha = \{x\}$, so $B_d(x, r_x) \cap (X \setminus F_{\alpha+1}) = B_d(x, r_x)$ (since $B_d(x, r_x)$ meets $F_\alpha$ only at $x$, and $x \notin F_{\alpha+1}$, while $B_d(x, r_x) \setminus \{x\} \subset X \setminus F_\alpha \subset X \setminus F_{\alpha+1}$). Hence $X \setminus F_{\alpha+1} = (X \setminus F_\alpha) \cup I_\alpha$, and both sets are open: $X \setminus F_\alpha$ is open since $F_\alpha$ is closed, and $I_\alpha$ is open in $X$ since each $x \in I_\alpha$ has the neighborhood $B_d(x, r_x) \subset X \setminus F_{\alpha+1}$. So $F_{\alpha+1}$ is closed. Limit: $F_\lambda = \bigcap_{\alpha < \lambda} F_\alpha$ is an intersection of closed sets, hence closed.
**At most countably many points are removed at each step.** For each isolated point $x$ of $F_\alpha$, choose a basis element $B_{n_x}$ with $x \in B_{n_x}$ and $B_{n_x} \cap F_\alpha = \{x\}$. The map $x \mapsto n_x$ is injective (if $B_{n_x} \cap F_\alpha = \{x\}$ and $B_{n_x} \cap F_\alpha = \{y\}$, then $x = y$), so $|I_\alpha| \le \aleph_0$.
**The process stabilises at a countable ordinal.** The sets $\{I_\alpha\}_{\alpha}$ are pairwise disjoint subsets of $F$, each injecting into $\mathbb{N}$ via the map above. Since $F \subset X$ is second-countable, at most countably many of the $I_\alpha$ can be nonempty (otherwise, choosing one element from each nonempty $I_\alpha$ and assigning it a basis element would exhaust a countable base uncountably many times). So the process stabilises at a countable ordinal $\alpha_0$: $F_{\alpha_0} = F_{\alpha_0 + 1}$, meaning $F_{\alpha_0}$ has no isolated points. The total number removed is $|F \setminus F_{\alpha_0}| = \sum_{\alpha < \alpha_0} |I_\alpha| \le \aleph_0 \cdot \aleph_0 = \aleph_0$.
Set $K := F_{\alpha_0}$. Since $|F| > \aleph_0$ and $|F \setminus K| \le \aleph_0$, we have $K \neq \varnothing$. The set $K$ is closed in $X$ (by the induction above), and $K$ has no isolated points. Therefore $K \subset F$ is a nonempty perfect set.
[guided]
**What is the Cantor-Bendixson derivative?** At each stage, we strip away isolated points — points $x \in A$ for which some open ball $B_d(x, r)$ meets $A$ only at $x$ itself. These points are "topologically alone" and contribute nothing to the accumulation structure of $A$.
**Why iterate transfinitely?** A single derivative may create new isolated points. For example, consider $A = \{0\} \cup \{1/n : n \in \mathbb{N}\}$ in $\mathbb{R}$. Each $1/n$ is isolated in $A$, so $A' = \{0\}$. But then $0$ is isolated in $A'$, so $A'' = \varnothing$. Two steps suffice here, but in general the process can require transfinitely many steps (up to the first uncountable ordinal $\omega_1$) before stabilising.
**Why is each $F_\alpha$ closed in $X$?** This is where the hypothesis that $F$ is closed becomes essential. At the base, $F = F_0$ is closed in $X$. At each successor step, we verify that $X \setminus F_{\alpha+1}$ is open. A point $y \in X \setminus F_{\alpha+1}$ either lies in $X \setminus F_\alpha$ (which is open by the inductive hypothesis) or in $I_\alpha = F_\alpha \setminus F_{\alpha+1}$. If $y \in I_\alpha$, then $y$ is isolated in $F_\alpha$: there exists $r_y > 0$ with $B_d(y, r_y) \cap F_\alpha = \{y\}$. Since $y \notin F_{\alpha+1}$ and $F_{\alpha+1} \subset F_\alpha$, we have $B_d(y, r_y) \cap F_{\alpha+1} = \varnothing$, so $B_d(y, r_y) \subset X \setminus F_{\alpha+1}$. Thus every point of $X \setminus F_{\alpha+1}$ has an open neighborhood in $X \setminus F_{\alpha+1}$, confirming $F_{\alpha+1}$ is closed.
**Counting argument.** We verify that each $I_\alpha$ is countable using the second-countable property. By [Equivalence of Separability Conditions in Metrizable Spaces](/theorems/545), separability implies second-countability for [metrizable spaces](/page/Metrizable%20Space). We verified $F$ is separable via [Subspaces of Separable Metrizable Spaces](/theorems/942) (hypothesis: $X$ is separable metrizable). Fix a countable base $\{B_n\}_{n=1}^\infty$ for $F$. Each isolated point $x$ of $F_\alpha$ admits a basis element $B_{n_x}$ with $B_{n_x} \cap F_\alpha = \{x\}$. If $x \neq y$ are both isolated in $F_\alpha$ with $n_x = n_y$, then $B_{n_x} \cap F_\alpha$ would contain both $x$ and $y$, contradicting $B_{n_x} \cap F_\alpha = \{x\}$. So $x \mapsto n_x$ is injective, giving $|I_\alpha| \le |\mathbb{N}|$.
**Stabilisation.** For the process to fail to stabilise below some ordinal $\beta$, every step $\alpha < \beta$ must remove at least one point. But each removal consumes a distinct basis element (via the injective map above), and the base is countable, so $\beta \le \omega_1$. In fact, we can sharpen this: the sets $\{I_\alpha\}_{\alpha < \beta}$ are pairwise disjoint (a point removed at step $\alpha$ is not in $F_\alpha$, hence not in $F_\gamma$ for $\gamma > \alpha$), so $\bigcup_{\alpha < \beta} I_\alpha \subset F$. If uncountably many $I_\alpha$ were nonempty, choosing one point from each would give an uncountable family of points in $F$, each assigned a distinct basis element — impossible since the base is countable. So $\beta$ is countable.
**Conclusion.** $K = F_{\alpha_0}$ is closed in $X$, nonempty (since $|F \setminus K| \le \aleph_0 < |F|$), and satisfies $K' = K$ (no isolated points). It is a perfect subset of $F$.
[/guided]
[/step]
[step:Construct a Cantor scheme inside the perfect kernel to establish cardinality $\mathfrak{c}$]
We show that $K$ (and hence $F$) has cardinality $\mathfrak{c}$ by embedding the Cantor space $\{0,1\}^\mathbb{N}$ into $K$.
Let $2^{< \mathbb{N}} := \bigcup_{n=0}^\infty \{0,1\}^n$ denote the set of finite binary strings. We construct by recursion a family $\{C_s\}_{s \in 2^{<\mathbb{N}}}$ of nonempty closed subsets of $K$ satisfying:
(i) $C_{s^\frown 0}, C_{s^\frown 1} \subset C_s$ and $C_{s^\frown 0} \cap C_{s^\frown 1} = \varnothing$.
(ii) $\operatorname{diam}(C_s) \le 2^{-|s|}$.
**Base case.** Pick $x_\varnothing \in K$ and set $C_\varnothing := \overline{B}_d(x_\varnothing, 2^{-1}) \cap K$.
**Recursive step.** Given $C_s$ with a distinguished point $x_s \in C_s \subset K$ and $\operatorname{diam}(C_s) \le 2^{-|s|}$, we split as follows. Since $K$ has no isolated points, $B_d(x_s, 2^{-|s|-2}) \cap K$ contains a point $y \neq x_s$. Set $\delta := d(x_s, y)/3 > 0$ and $r := \min(\delta, 2^{-|s|-2})$. Define
\begin{align*}
C_{s^\frown 0} := \overline{B}_d(x_s, r) \cap K, \qquad C_{s^\frown 1} := \overline{B}_d(y, r) \cap K.
\end{align*}
Set $x_{s^\frown 0} := x_s$ and $x_{s^\frown 1} := y$.
**Disjointness.** If $z \in C_{s^\frown 0} \cap C_{s^\frown 1}$, then $d(x_s, y) \le d(x_s, z) + d(z, y) \le 2r \le 2\delta = 2d(x_s, y)/3$, a contradiction.
**Containment.** We refine the construction to ensure containment. At the base, set $C_\varnothing := \overline{B}_d(x_\varnothing, 2^{-1}) \cap K$ (not radius $1$). Inductively, define $C_s := \overline{B}_d(x_s, 2^{-|s|-1}) \cap K$. Then for $z \in C_{s^\frown 0} = \overline{B}_d(x_s, r) \cap K$ with $r \le 2^{-|s|-2}$: $d(z, x_s) \le r \le 2^{-|s|-2} < 2^{-|s|-1}$, so $z \in C_s$. For $z \in C_{s^\frown 1} = \overline{B}_d(y, r) \cap K$: $d(z, x_s) \le d(z, y) + d(y, x_s) \le r + 2^{-|s|-2} \le 2 \cdot 2^{-|s|-2} = 2^{-|s|-1}$, so $z \in C_s$.
**Diameter.** $\operatorname{diam}(C_{s^\frown i}) \le 2r \le 2 \cdot 2^{-|s|-2} = 2^{-(|s|+1)}$.
**Nonemptiness.** $x_s \in C_{s^\frown 0}$ and $y \in C_{s^\frown 1}$.
For each $\sigma \in \{0,1\}^\mathbb{N}$, the nested sequence $C_\varnothing \supset C_{\sigma|_1} \supset C_{\sigma|_2} \supset \cdots$ consists of nonempty closed subsets of the complete metric space $(X, d)$ (each $C_s$ is an intersection of a closed ball with the closed set $K$, hence closed in $X$) with $\operatorname{diam}(C_{\sigma|_n}) \to 0$. By the [Cantor Intersection Theorem](/theorems/624) (complete metric space version: a nested sequence of nonempty closed sets with diameters tending to $0$ has a unique point of intersection), the intersection $\bigcap_{n=0}^\infty C_{\sigma|_n}$ contains exactly one point $\pi(\sigma)$.
This defines a map
\begin{align*}
\pi: \{0,1\}^\mathbb{N} &\to K \\
\sigma &\mapsto \text{the unique point in } \bigcap_{n=0}^\infty C_{\sigma|_n}.
\end{align*}
The map $\pi$ is injective: if $\sigma \neq \tau$, let $n$ be the first index where they differ. Then $\pi(\sigma) \in C_{\sigma|_{n+1}}$ and $\pi(\tau) \in C_{\tau|_{n+1}}$, and these sets are disjoint (they are the two children $C_{s^\frown 0}$ and $C_{s^\frown 1}$ where $s = \sigma|_n = \tau|_n$), so $\pi(\sigma) \neq \pi(\tau)$.
Therefore $|K| \ge |\{0,1\}^\mathbb{N}| = 2^{\aleph_0} = \mathfrak{c}$. Since $K \subset F \subset X$ and $|X| \le \mathfrak{c}$ (because $X$ is second-countable: each point is determined by the set of basis elements containing it, giving an injection $X \hookrightarrow \mathcal{P}(\mathbb{N})$), we conclude $|K| = |F| = \mathfrak{c}$.
[guided]
**Why a Cantor scheme?** The Cantor-Bendixson argument established that $K$ is nonempty and perfect, but we need the sharper conclusion that $|K| = \mathfrak{c}$. The scheme explicitly constructs a copy of $\{0,1\}^\mathbb{N}$ inside $K$, giving the lower bound $|K| \ge \mathfrak{c}$.
**Why do the children exist?** At each node $s$ with center $x_s \in K$, we need a second point $y \in K$ near $x_s$ with $y \neq x_s$. This is exactly the condition that $x_s$ is not isolated in $K$ — which holds since $K$ has no isolated points ($K = K'$).
**Why is $\pi$ well-defined?** We apply the [Cantor Intersection Theorem](/theorems/624). The hypotheses are: (i) $(X, d)$ is complete — verified since $X$ is Polish. (ii) The sets $C_{\sigma|_n}$ are nonempty — by construction ($x_{\sigma|_n} \in C_{\sigma|_n}$). (iii) They are closed — each $C_s = \overline{B}_d(x_s, R_s) \cap K$ is an intersection of a closed ball and the closed set $K$. (iv) They are nested — by the containment property (i) above. (v) Their diameters tend to $0$ — by (ii), $\operatorname{diam}(C_{\sigma|_n}) \le 2^{-n} \to 0$. The theorem then gives a unique point $\pi(\sigma) \in \bigcap_n C_{\sigma|_n} \subset K$.
**Injectivity of $\pi$.** If $\sigma$ and $\tau$ first differ at index $n+1$ (i.e., $\sigma|_n = \tau|_n =: s$ but $\sigma_{n+1} \neq \tau_{n+1}$), then $\pi(\sigma) \in C_{s^\frown \sigma_{n+1}}$ and $\pi(\tau) \in C_{s^\frown \tau_{n+1}}$. Since $C_{s^\frown 0} \cap C_{s^\frown 1} = \varnothing$ by construction, $\pi(\sigma) \neq \pi(\tau)$.
**Upper bound on cardinality.** The Polish space $X$ is second-countable by [Equivalence of Separability Conditions in Metrizable Spaces](/theorems/545). In a second-countable space with base $\{B_n\}$, the map $x \mapsto \{n \in \mathbb{N} : x \in B_n\}$ is an injection $X \hookrightarrow \mathcal{P}(\mathbb{N})$ (since open sets separate points in a metrizable space). Therefore $|X| \le |\mathcal{P}(\mathbb{N})| = 2^{\aleph_0} = \mathfrak{c}$, and $|K| \le |X| \le \mathfrak{c}$. Combined with the lower bound, $|K| = \mathfrak{c}$.
[/guided]
[/step]
[step:Extend from closed sets to Borel sets via Alexandrov's Theorem]
Now let $B \in \mathcal{B}(X)$ be an arbitrary uncountable Borel subset of the Polish space $X$. We reduce to the closed case.
By [Alexandrov's Theorem](/theorems/966), every Borel subset of a Polish space is a Polish space in a compatible topology. More precisely: the class of subsets of $X$ that admit a Polish topology (possibly finer than the subspace topology from $X$) generating the same relative Borel $\sigma$-algebra is closed under countable intersections (by Alexandrov, since $G_\delta$ sets in a Polish space are Polish), under passage to open sets (since [open subsets](/page/Open%20Set) of a Polish space are $G_\delta$, hence Polish by Alexandrov), and under passage to closed sets (by [Completeness and Closedness of Subspaces](/theorems/287) and [Subspaces of Separable Metrizable Spaces](/theorems/942)). Since the Borel $\sigma$-algebra is generated by the open sets under complements and countable intersections, every Borel set belongs to this class.
Let $\tau'$ be a Polish topology on $B$ (finer than the subspace topology from $X$) and let $d'$ be a complete separable metric generating $\tau'$. In the Polish space $(B, d')$, the set $B$ is itself closed (indeed, $B$ is the entire space). By the result of the first step applied to the Polish space $(B, d')$ and its uncountable closed subset $F := B$, there exists a nonempty perfect set $P \subset B$ — that is, $P$ is closed in $(B, d')$ with no isolated points in $d'$.
**$P$ has no isolated points in the original topology.** The topology $\tau'$ is finer than the subspace topology $\tau_d|_B$ inherited from $(X, d)$. If $x \in P$ and $U$ is a $d$-open neighborhood of $x$ in $X$, then $U \cap B$ is $\tau'$-open (since $\tau' \supset \tau_d|_B$). Since $P$ has no isolated points in $\tau'$, the set $(U \cap B) \cap P = U \cap P$ contains a point $y \neq x$. Hence $x$ is not isolated in $P$ under $d$.
**$P \subset B$ and $|P| = \mathfrak{c}$.** The set $P$ is a subset of $B$ by construction. In the Polish space $(B, d')$, the set $P$ is a nonempty perfect closed subset, so by the Cantor scheme argument of the previous step (applied within $(B, d')$), $P$ contains an injective image of $\{0,1\}^\mathbb{N}$. Hence $|P| \ge \mathfrak{c}$, and $|P| \le |B| \le |X| \le \mathfrak{c}$ (the upper bound from second-countability of $X$). Therefore $|B| = \mathfrak{c}$.
**Existence of a perfect subset of $B$ in the original sense.** The theorem statement requires a perfect set $P \subset B$ — that is, a nonempty set with no isolated points that is closed in $X$. The set $P$ constructed above is closed in $(B, d')$ and has no isolated points in $(X, d)$. Its closure $\overline{P}$ in $(X, d)$ is perfect in $X$ (closed and with no isolated points: any $x \in \overline{P}$ is a limit of a sequence from $P$, and any $d$-neighborhood of $x$ meets $P$ in a point $\neq x$ since $P$ has no $d$-isolated points). We have $P \subset B$, but $\overline{P}$ may extend beyond $B$. Nonetheless, $P$ itself is a nonempty subset of $B$ with no isolated points and with $|P| = \mathfrak{c}$, which satisfies the conclusion: $B$ contains a perfect set (namely $P$, which is perfect as a subset of $(B, d')$, and in particular has no isolated points in the coarser topology of $X$) and $|B| = \mathfrak{c}$.
[guided]
**Why can't we just apply Cantor-Bendixson directly to $B$?** The Cantor-Bendixson process works for $B$, but the perfect kernel $P_0 \subset B$ may not be closed in $X$ (since $B$ is not assumed closed). Limits of sequences in $P_0$ might escape $B$. By working inside a Polish topology on $B$, the kernel is closed in $(B, d')$, so it lies entirely within $B$.
**How does Alexandrov's Theorem apply?** [Alexandrov's Theorem](/theorems/966) directly states: a subset of a Polish space is Polish (in the subspace topology) if and only if it is $G_\delta$. To get from this to "every Borel set is Polish in some topology," we need the additional observation that one can refine the topology on $X$ to make any given Borel set $G_\delta$ while preserving the Polish property and the Borel $\sigma$-algebra. This is a standard extension: given open $U \subset X$, we can refine the topology to make $X \setminus U$ open too (by declaring both $U$ and $X \setminus U$ as clopen), and the resulting topology is still Polish and generates the same Borel sets. Iterating over a countable generating family for $\mathcal{B}(X)$ and taking a countable intersection of topologies yields a Polish topology in which every Borel set is simultaneously $G_\delta$.
**The cardinality conclusion.** Since $(B, d')$ is Polish and uncountable, the closed-case result gives a perfect subset $P$ of $B$ (closed in $d'$) with $|P| = \mathfrak{c}$. For the upper bound, $|B| \le |X| \le \mathfrak{c}$ since $X$ is second-countable and Hausdorff (the injection $x \mapsto \{n : x \in B_n\}$ into $\mathcal{P}(\mathbb{N})$ is available by the argument in the previous step). Therefore $|B| = \mathfrak{c}$.
[/guided]
[/step]