[proofplan]
We first prove the determinacy-to-perfect-set dichotomy for subsets of Cantor space $2^{\mathbb{N}}$, using the standard perfect-set game. If player I has a winning strategy, the strategy directly gives a continuous injective map from $2^{\mathbb{N}}$ into the target set. If player II has a winning strategy, we invoke Martin's perfect-set game lemma, which is one of the standard consequences of $\mathrm{AD}$ explicitly included in the statement: player II's winning strategy in this game implies that the target set is countable. Finally, an arbitrary subset of $\mathbb{R}$ is reduced to compact intervals and binary expansions, and the countable-union step uses the stated consequence of $\mathrm{AD}$ that countable choice holds for countable families of countable sets of reals.
[/proofplan]
[step:Prove the perfect-set dichotomy in Cantor space]
Let $B \subseteq 2^{\mathbb{N}}$. We prove that, under $\mathrm{AD}$, either $B$ is countable or $B$ contains a nonempty perfect subset of $2^{\mathbb{N}}$.
Define the perfect-set game $G(B)$ as follows. A finite binary sequence is an element of $2^{<\mathbb{N}}$. A position for player I is a finite binary splitting system: a map $S:2^{\leq n} \to 2^{<\mathbb{N}}$ for some $n \in \mathbb{N}$, satisfying $S(t) \subsetneq S(t^\frown 0)$, $S(t) \subsetneq S(t^\frown 1)$, and $S(t^\frown 0)$ incompatible with $S(t^\frown 1)$ for every $t \in 2^{<n}$. A legal play is a sequence $(S_n,b_n)_{n\in\mathbb{N}}$ such that $S_n:2^{\leq n}\to 2^{<\mathbb{N}}$ is a finite binary splitting system, $S_{n+1}|_{2^{\leq n}}=S_n$, and $b_n\in\{0,1\}$ is player II's choice after $S_{n+1}$ has been played. Thus player II determines a branch $b \in 2^{\mathbb{N}}$, and the coherent systems determine the real
\begin{align*}
x_b := \bigcup_{n=0}^{\infty} S(b|n) \in 2^{\mathbb{N}},
\end{align*}
where $b|n \in 2^n$ denotes the initial segment of $b$ of length $n$. Player I wins the play if $x_b \in B$; player II wins otherwise. This is a Gale-Stewart game with moves coded by natural numbers, so by $\mathrm{AD}$ one of the two players has a winning strategy.
Suppose first that player I has a winning strategy $\sigma$. For each $b \in 2^{\mathbb{N}}$ and each $n \in \mathbb{N}$, let $S_{\sigma,b,n}:2^{\leq n} \to 2^{<\mathbb{N}}$ denote the finite binary splitting system played by $\sigma$ at height $n$ in the play in which player II chooses the successive bits $b_0,\dots,b_{n-1}$. Define $S_\sigma(b|n) := S_{\sigma,b,n}(b|n)$, the node of that splitting system along the branch $b|n$. Define
\begin{align*}
F_\sigma:2^{\mathbb{N}} \to 2^{\mathbb{N}}
\end{align*}
by
\begin{align*}
F_\sigma(b) := \bigcup_{n=0}^{\infty} S_\sigma(b|n).
\end{align*}
Because $\sigma$ is winning, $F_\sigma(b) \in B$ for every $b \in 2^{\mathbb{N}}$. The map $F_\sigma$ is continuous: for each $k \in \mathbb{N}$, the first $k$ digits of $F_\sigma(b)$ are determined once $b|n$ is long enough that $|S_\sigma(b|n)| \geq k$. The map is injective because if $b,c \in 2^{\mathbb{N}}$ and $b \neq c$, then for the first $n \in \mathbb{N}$ with $b_n \neq c_n$, the splitting requirement makes $S_\sigma(b|(n+1))$ and $S_\sigma(c|(n+1))$ incompatible. Hence $F_\sigma(b) \neq F_\sigma(c)$.
Since $2^{\mathbb{N}}$ is compact and has no isolated points, $F_\sigma[2^{\mathbb{N}}]$ is compact and has no isolated points: compactness follows from continuity, and if $F_\sigma(b)$ were isolated in the image, then its singleton preimage would be open in $2^{\mathbb{N}}$, contradicting that $2^{\mathbb{N}}$ has no isolated points and that $F_\sigma$ is injective. Therefore $F_\sigma[2^{\mathbb{N}}]$ is a nonempty perfect subset of $B$.
Suppose instead that player II has a winning strategy $\tau$. We use Martin's perfect-set game lemma for arbitrary subsets of Cantor space, included in the theorem statement as a standard consequence of $\mathrm{AD}$: for the perfect-set game $G(B)$ on $2^{\mathbb{N}}$, if player II has a winning strategy, then $B$ is countable.
The hypotheses of the lemma match the present situation: $G(B)$ is exactly the perfect-set game on $2^{\mathbb{N}}$, the payoff set is the arbitrary set $B\subseteq 2^{\mathbb{N}}$, and $\tau$ is a winning strategy for player II. Therefore $B$ is countable.
[guided]
The point of the game is to encode the two possible outcomes we want. If player I can force a win, then player I is not merely producing one real in $B$; the legal moves require binary splitting at every finite stage, so the strategy produces a whole Cantor scheme inside $B$. If player II can force a win, then player II prevents every attempted binary splitting inside $B$, and this forces $B$ to be exhausted by countably many terminal cylinders, each containing at most one point of $B$.
Let $B \subseteq 2^{\mathbb{N}}$. In the perfect-set game $G(B)$, player I builds longer and longer finite binary splitting systems. Formally, at height $n$, player I has produced a map
\begin{align*}
S:2^{\leq n} \to 2^{<\mathbb{N}}
\end{align*}
such that every node splits into two incompatible longer extensions. Player II chooses one branch through this finite tree. If the branch chosen by player II is $b \in 2^{\mathbb{N}}$, the resulting point is
\begin{align*}
x_b := \bigcup_{n=0}^{\infty} S(b|n).
\end{align*}
Player I wins exactly when $x_b \in B$. Since the whole play can be coded as an infinite sequence of natural numbers, $\mathrm{AD}$ applies and gives a winning strategy for one of the players.
Assume first that player I has a winning strategy $\sigma$. For each branch $b \in 2^{\mathbb{N}}$, follow the play in which player II chooses the bits of $b$. The strategy $\sigma$ then produces a nested chain of finite binary sequences, and we define
\begin{align*}
F_\sigma:2^{\mathbb{N}} \to 2^{\mathbb{N}}
\end{align*}
by
\begin{align*}
F_\sigma(b) := \bigcup_{n=0}^{\infty} S_\sigma(b|n).
\end{align*}
Because $\sigma$ wins against every possible branch chosen by player II, $F_\sigma(b) \in B$ for all $b$. The map is continuous because a finite initial segment of $F_\sigma(b)$ is already fixed after finitely many choices of the branch $b$. The map is injective because two different branches eventually choose different successors at some split, and the rules require the two successors to be incompatible finite binary strings. Thus $F_\sigma[2^{\mathbb{N}}]$ is a continuous injective image of Cantor space contained in $B$.
We now check that this image is perfect. The space $2^{\mathbb{N}}$ is compact, and $F_\sigma$ is continuous, so $F_\sigma[2^{\mathbb{N}}]$ is compact. Since $2^{\mathbb{N}}$ has no isolated points and $F_\sigma$ is injective, no image point can be isolated: if $F_\sigma(b)$ were isolated in the image, then $\{b\}$ would be open in $2^{\mathbb{N}}$ after restricting $F_\sigma$ to its image, contradicting that no singleton is open in Cantor space. Hence $F_\sigma[2^{\mathbb{N}}]$ is a nonempty perfect subset of $B$.
Now assume player II has a winning strategy $\tau$. The tempting but invalid argument would be to keep choosing points of $B$ in smaller and smaller cylinders and then assert that the limiting branch lies in $B$; this fails because $B$ is arbitrary and need not be closed. The correct input is Martin's perfect-set game lemma for Cantor space, which is explicitly included in the theorem statement as a standard consequence of $\mathrm{AD}$.
The lemma says the following. In the perfect-set game $G(B)$ defined above, if player II has a winning strategy, then $B$ is countable. We verify its hypotheses in the present case. The space is exactly Cantor space $2^{\mathbb{N}}$, the payoff set is the arbitrary subset $B\subseteq 2^{\mathbb{N}}$, and $\tau$ is a winning strategy for player II in precisely this game. Therefore Martin's perfect-set game lemma applies and gives that $B$ is countable.
This is the step where the determinacy hypothesis enters the hard direction: player II's ability to block every attempted binary splitting tree through $B$ is converted by the lemma into countability of $B$, without any closedness assumption on $B$. Hence, in the player-II case, the Cantor-space alternative is the countability alternative.
[/guided]
[/step]
[step:Transfer the dichotomy from Cantor space to compact intervals]
Let $I \subseteq \mathbb{R}$ be a nondegenerate compact interval, and let $A_I \subseteq I$. We show that $A_I$ is countable or contains a nonempty perfect subset of $\mathbb{R}$.
Choose an affine homeomorphism $\ell:I \to [0,1]$, and let $a_+ := \ell^{-1}(1)$ denote the right endpoint of $I$. Let
\begin{align*}
\beta:2^{\mathbb{N}} \to [0,1]
\end{align*}
be the binary-evaluation map defined by
\begin{align*}
\beta(b) := \sum_{n=0}^{\infty} \frac{b_n}{2^{n+1}}.
\end{align*}
For each $t \in [0,1)$, choose its binary expansion that is not eventually equal to $1$; denote this chosen code by $c(t) \in 2^{\mathbb{N}}$. Thus $c:[0,1)\to 2^{\mathbb{N}}$ is injective and $\beta(c(t))=t$ for every $t \in [0,1)$.
Define
\begin{align*}
A_I^- := A_I \setminus \{a_+\}.
\end{align*}
Define
\begin{align*}
B_I := c[\ell[A_I^-]] \subseteq 2^{\mathbb{N}}.
\end{align*}
By the Cantor-space dichotomy, either $B_I$ is countable or $B_I$ contains a nonempty perfect subset $Q \subseteq 2^{\mathbb{N}}$.
If $B_I$ is countable, then $A_I^-$ is countable because $c \circ \ell:A_I^- \to B_I$ is injective. Hence $A_I = A_I^- \cup (A_I \cap \{a_+\})$ is countable as the union of a [countable set](/page/Countable%20Set) and at most one additional point. If $Q \subseteq B_I$ is nonempty and perfect, then $\ell^{-1}[\beta[Q]] \subseteq A_I^- \subseteq A_I$. The map $\ell^{-1}\circ \beta:Q \to I$ is continuous. It is injective on $Q$ because $Q \subseteq B_I$ and $B_I$ consists only of the chosen binary expansions from $[0,1)$, on which $\beta$ is one-to-one. Since $Q$ is compact and $\mathbb{R}$ is Hausdorff, this continuous injection is a homeomorphism from $Q$ onto $\ell^{-1}[\beta[Q]]$. Therefore compactness and the absence of isolated points pass from $Q$ to $\ell^{-1}[\beta[Q]]$, so $\ell^{-1}[\beta[Q]]$ is a nonempty perfect subset of $\mathbb{R}$ contained in $A_I$.
[/step]
[step:Apply the compact-interval dichotomy to the real line]
Let $A \subseteq \mathbb{R}$. For each $m \in \mathbb{Z}$, define the compact interval
\begin{align*}
I_m := [m,m+1].
\end{align*}
Then
\begin{align*}
\mathbb{R} = \bigcup_{m \in \mathbb{Z}} I_m.
\end{align*}
If every set $A \cap I_m$ is countable, then $A$ is a [countable union of countable sets](/theorems/755) indexed by $\mathbb{Z}$. We use here the standard consequence of $\mathrm{AD}$, explicitly included in the theorem statement, that countable choice holds for countable families of countable sets of reals; applying it to the countable family $(A\cap I_m)_{m\in\mathbb{Z}}$ gives countable enumerations whose union enumerates $A$. Hence $A$ is countable. If some $A \cap I_m$ is uncountable, then by the compact-interval dichotomy there exists a nonempty perfect set $P \subseteq \mathbb{R}$ such that
\begin{align*}
P \subseteq A \cap I_m \subseteq A.
\end{align*}
Thus every set $A \subseteq \mathbb{R}$ is either countable or contains a nonempty perfect subset. This is exactly the perfect set property for all sets of reals under $\mathrm{AD}$.
[/step]