Some choice is necessary: if ZF is consistent, there is a model of ZF in which there is a perfect compact Hausdorff topology on a countable set. On the other hand you can weaken dependent choice to “Dependent choice for relations on $\mathbb R$” (Howard-Rubin Form 211).
The idea is to embed a generic Boolean algebra into $\mathcal P(\omega)$ and use this as a topological base. I’ll need a few properties of the free countably generated Boolean algebra $\mathcal B.$ This can be constructed by its Stone representation as the algebra of clopens (closed and open sets) of Cantor space, $2^\omega$ with the product topology. The Cantor space has an important homogeneity property that any nonempty clopen is actually homeomorphic to $2^\omega.$ This can also be seen using Fraïssé’s theorem.
The interesting part of the argument, showing compactness, will use this homogeneity. I’ll illustrate the basic principle with a special case. Given two nonzero elements $b,c\in\mathcal B,$ there is an automorphism $\pi$ such that $b\vee \pi(c)=1.$ This is obvious if $b=1$ or $c=1.$ Otherwise, there is a partition $b$ as $b=b_1\vee b_2,$ where by “partition” I mean $b_1,b_2\neq 0$ and $b_1\wedge b_2=0.$ Similarly there is a partition $c=c_1\vee c_2.$ For $b\in\mathcal B$ temporarily let $D(b)$ denote the corresponding clopen under the Stone representation mentioned earlier. There are homeomorphisms taking $D(\neg c),D(c)$ to $D(b_1),D(\neg b\vee b_2)$ respectively. The union of these is a homeomorphism corresponding to an automorphism $\pi$ of $\mathcal B$ satisfying $b\vee \pi(c)=b\vee \neg b \vee b_2=1.$
Note we could have just sent $D(\neg c),D(c)$ to $D(b),D(\neg b)$ respectively, but that would introduce the unnecessary constraint $b\wedge c=0.$ It will be important to be able to add the constraint $b\vee c$ in a sufficiently generic way. The general statement I want to use is:
Lemma. Fix finite subalgebras $A,B,C\subset \mathcal B$ with $A\subseteq B,C,$ and elements $b\in B$ and $c\in C$ such that $a\wedge b>0$ and $a\wedge c>0$ for each atom $a$ of $A.$ There is an automorphism $\pi$ fixing each element of $A$ and such that for all pairs of atoms $t_B$ and $t_C$ of $B$ and $C$ respectively, $t_B\wedge \pi(t_C)>0$ if and only if $t_B,t_C\leq a$ for some atom $a$ of $A,$ and either $t_B\leq b$ or $t_C\leq c.$ In particular $b\vee \pi(c)=1.$
(Arguably this isn’t really any more general, it’s just extra bookkeeping. It immediately reduces to the case $A=\{0,1\}.$ And by being more clever later about forcing conditions for statements with lots of symmetry, I think we only really need the case where $B$ is generated by $A\cup \{b\}$ and $C$ is generated by $A\cup \{c\}.$)
Proof. Partition each atom $t_B$ of $B$ into $\bigvee_{t_C} z(t_B,t_C)$ where $t_C$ ranges over atoms $t_C$ of $C$ such that $t_B,t_C\leq a$ for some atom $a$ of $A,$ and either $t_B\leq b$ or $t_C\leq c.$ Take $\pi$ to be an automorphism taking $\bigvee_{t_B} z(t_B,t_C)$ to $t_C$ for each atom $t_C$ of $C.$
Finally, by distributivity $1=\bigcup (t_B\wedge \pi(t_C)),$ so from $t_B\wedge \pi(t_C)\leq b\vee \pi(c)$ we get $b\vee \pi(c)=1.$
$\square$
I’ll use the technique of building a symmetric submodel of a generic extension; my reference is Jech’s Set Theory, in the chapter “Applications of Forcing”. Working in ZFC, let $\mathcal B$ be the free countably generated Boolean algebra and let $\mathbb P$ be the poset whose elements are triples $p=(B_p,m_p,f_p)$ such that:
- $B_p$ is a finite subalgebra of $\mathcal B,$ and
- $m_p\in \omega,$ and
- $f_p$ is a function $B_p\times m_p\to 2$ whose curried version $B_p\to 2^{m_p},$ i.e. $b\mapsto (f(b,i))_{i\in m_p},$ is a Boolean algebra homomorphism. By Stone duality this corresponds to choices of atoms $x_0,\dots,x_{m_p-1}$ of $B_p,$ with $f_p(b,i)=1\iff x_i\leq b.$
And define $p\leq q$ to hold whenever
- $B_p\supseteq B_q,$ and
- $m_p\geq m_q,$ and
- $f_p\supseteq f_q.$ So for $i<m_q,$ the atom of $B_p$ corresponding to $f_p(-,i)$ must refine (=is less than or equal to) the atom of $B_q$ corresponding to $f_q(-,i).$
Let $\mathcal G$ be the group of automorphisms of $\mathcal B,$ and for finite subalgebras $B\subset\mathcal B$ let $\mathcal G_B$ denote the subgroup of automorphisms that fix each element of $B.$ Equip $\mathcal G$ with the normal filter generated by $\{\mathcal G_B:B\subset \mathcal B\}.$ There is an obvious action of $\mathcal G$ on $\mathbb P.$ Starting with a transitive model $M$ of ZFC, take an $M$-generic set of conditions $G$ for the notion of forcing $\mathbb P,$ then restrict to the symmetric submodel $N\subset M[G]$ with respect to $\mathcal G.$ When I talk about forcing from now on, I am quantifying over $N.$
$N$ contains each set $X_b=\{i\in\omega:(\exists p\in G)(f_p(b,i)=1)\}$ for $b\in \mathcal B$ as well as the collection $\mathcal X=\{X_b:b\in\mathcal B\},$ which is a Boolean subalgebra of $\mathcal P(\omega).$ Beware however that the function $b\mapsto X_b$ is not in $N.$ Let $\tau$ be the topology generated by $\mathcal X.$
The easy part of the argument is that $\tau$ is Hausdorff in $N.$ Below any condition $p,$ given $i<j,$ we can pick a $b$ “independent” of $B_p$ by partitioning each atom $a$ of $B_p$ as $a_0\vee a_1$ and taking $b=\bigvee_{a} a_1.$ Then choose a condition $q\leq p$ that forces $X_b$ to contain $i$ and not $j,$ so that $i$ and $j$ have disjoint neighborhoods $X_b$ and $X_{\neg b}.$
There are no isolated points because any non-empty set $X_b$ will be infinite.
It remains to show that $\tau$ is compact in $N.$ Working with the base $\mathcal X,$ we want to show that any subset of $\mathcal X$ which is closed under finite unions and which covers $\omega$ must in fact contain $\omega.$ Consider a hereditarily symmetric name $\dot{\mathcal A}$ (I'm not consistently using dots, but it seems worth it here to emphasise that this is a name) and consider a condition $p$ forcing $\dot{\mathcal A}$ to be a subset of $\mathcal X$ which is closed under finite unions and which covers $\omega.$ We want to find $s\leq p$ such that $s\Vdash X_1\in\dot{\mathcal A}.$
Let $A$ be an algebra such that $\mathcal G_A$ fixes $\dot{\mathcal A}$ and $p.$ Extending $m_p$ and $f_p$ if necessary (without changing $B_p$) we can ensure that for each atom $a$ of $A$ there is $i_a\in\omega$ such that $p$ forces $i_a\in X_a.$
Using the covering property we can pick $q\leq p$ and $b\in\mathcal B$ such that $q$ forces: $X_b\in\dot{\mathcal A},$ and $i_a\in X_b$ for each atom $a$ of $A.$ Using the covering property again we can pick $r\leq p$ and $c\in\mathcal B$ such that $m_r\geq m_q$ and such that $r$ forces: $X_c\in\dot{\mathcal A}$ and $m_q\subset X_c$ and $i_a\in X_c$ for each atom $a$ of $A.$ Apply the Lemma to get $\pi\in\mathcal G_A$ such that $t_B\vee \pi(t_C)>0$ for atoms $t_B\in B$ and $t_C\in C$ if and only if $t_B,t_C\leq a$ for some atom $a\in A,$ and either $t_B\leq b$ or $t_C\leq c.$
To complete the argument we just need to show that the conditions $q$ and $\pi(r)$ have a common refinement $s$; this will force $X_1=X_b\cup \pi(X_c)\in\dot{\mathcal A}$ as required. Take $B_s$ to be a finite Boolean algebra containing $B_q$ and $B_{\pi(r)}$ and take $m_s=m_r$ (which we ensured was at least $m_q$).
For $i<m_q$ we need to pick an atom $t$ of $B_s$ such that $t\leq t_B$ and $t\leq\pi(t_C)$ where $t_B$ is the atom of $B_q$ corresponding to $f_q(-,i),$ and $t_C$ is the atom of $B_r$ corresponding to $f_r(-,i).$ We arranged that $r$ forces $i\in X_c,$ which is equivalent to $f_r(c,i)=1,$ which is equivalent to $t_C\leq c.$ By definition of $\pi$ we get $t_B\wedge\pi(t_C)>0,$ so there is an atom $t$ of $B_s$ with $t\leq t_B\wedge\pi(t_C).$
For $m_q\leq i< m_r$ we need to pick an atom $t$ of $B_s$ such that $t\leq \pi(t_C)$ where $t_C$ is the atom of $B_r$ corresponding to $f_r(-,i).$ Just pick any atom $t$ of $B_q$ with $t\leq \pi(t_C).$