[proofplan]
Both directions use the finite intersection property (FIP). For the forward direction, we show that every ultrafilter on a compact space has the FIP for closed sets, and compactness forces a non-empty total intersection, giving a convergence point. For the converse, we show that any family of closed sets with the FIP generates a filter, extend it to an ultrafilter, and use convergence of the ultrafilter to produce a point in every member of the family.
[/proofplan]
[step:Show that every ultrafilter on a compact space converges]
Assume $(X, \tau)$ is compact and let $\mathcal{U}$ be an ultrafilter on $X$. Suppose for contradiction that $\mathcal{U}$ does not converge to any point of $X$. Then for each $x \in X$, there exists an open neighbourhood $V_x$ of $x$ such that $V_x \notin \mathcal{U}$.
Since $\mathcal{U}$ is an ultrafilter, $V_x \notin \mathcal{U}$ implies $X \setminus V_x \in \mathcal{U}$. (This is the ultrafilter dichotomy: for every subset $A \subset X$, exactly one of $A$ and $X \setminus A$ belongs to $\mathcal{U}$.)
The collection $\{V_x\}_{x \in X}$ is an open cover of $X$. By compactness, there exist finitely many points $x_1, \ldots, x_m \in X$ with $X = V_{x_1} \cup \cdots \cup V_{x_m}$. Then
\begin{align*}
\varnothing = X \setminus (V_{x_1} \cup \cdots \cup V_{x_m}) = (X \setminus V_{x_1}) \cap \cdots \cap (X \setminus V_{x_m}).
\end{align*}
Each set $X \setminus V_{x_k}$ belongs to $\mathcal{U}$, and $\mathcal{U}$ is closed under finite intersections (since it is a filter). Therefore $\varnothing \in \mathcal{U}$, contradicting the filter axiom $\varnothing \notin \mathcal{U}$.
[guided]
Assume $(X, \tau)$ is compact and let $\mathcal{U}$ be an ultrafilter on $X$. We show $\mathcal{U}$ converges to some $x \in X$. Recall that $\mathcal{U}$ converges to $x$ means: the neighbourhood filter of $x$ is contained in $\mathcal{U}$, i.e., every open set containing $x$ belongs to $\mathcal{U}$.
Suppose no such $x$ exists. Then for each $x \in X$, there is an open set $V_x$ with $x \in V_x$ and $V_x \notin \mathcal{U}$. The crucial property of ultrafilters now activates: for any $A \subset X$, exactly one of $A$ or $X \setminus A$ belongs to $\mathcal{U}$. (If both were missing, neither $A$ nor $X \setminus A$ would be in $\mathcal{U}$; but the filter generated by $\mathcal{U} \cup \{A\}$ would then be a strictly larger filter, contradicting maximality.) Since $V_x \notin \mathcal{U}$, we conclude $X \setminus V_x \in \mathcal{U}$.
Now $\{V_x\}_{x \in X}$ covers $X$, so compactness gives a finite subcover $X = V_{x_1} \cup \cdots \cup V_{x_m}$. Taking complements and intersecting:
\begin{align*}
(X \setminus V_{x_1}) \cap \cdots \cap (X \setminus V_{x_m}) = X \setminus (V_{x_1} \cup \cdots \cup V_{x_m}) = X \setminus X = \varnothing.
\end{align*}
Each $X \setminus V_{x_k} \in \mathcal{U}$, and filters are closed under finite intersections, so $\varnothing \in \mathcal{U}$. But the filter axiom forbids $\varnothing \in \mathcal{U}$ — a contradiction.
The argument reveals the interplay between the two hypotheses: the ultrafilter dichotomy converts "not convergent at $x$" into a concrete set in $\mathcal{U}$ (the complement of a neighbourhood), and compactness reduces infinitely many such complements to a finite intersection, which the filter axioms force to be non-empty.
[/guided]
[/step]
[step:Show that convergence of every ultrafilter implies compactness]
We prove the contrapositive: assume $(X, \tau)$ is not compact and produce an ultrafilter on $X$ that does not converge.
Since $X$ is not compact, there exists an open cover $\{V_i\}_{i \in I}$ with no finite subcover. Equivalently, the family of closed sets $\mathcal{C} := \{X \setminus V_i\}_{i \in I}$ has the finite intersection property (FIP): for every finite subset $J \subset I$,
\begin{align*}
\bigcap_{j \in J} (X \setminus V_j) = X \setminus \bigcup_{j \in J} V_j \neq \varnothing,
\end{align*}
since $\{V_j\}_{j \in J}$ does not cover $X$.
The FIP guarantees that the collection $\mathcal{C}$ generates a proper filter on $X$. Explicitly, define
\begin{align*}
\mathcal{F} := \{A \subset X : A \supset C_1 \cap \cdots \cap C_m \text{ for some finite } C_1, \ldots, C_m \in \mathcal{C}\}.
\end{align*}
We verify $\mathcal{F}$ is a filter: it is closed under finite intersections and supersets by construction, $X \in \mathcal{F}$, and $\varnothing \notin \mathcal{F}$ precisely because $\mathcal{C}$ has the FIP.
By Zorn's Lemma (applied to the poset of filters on $X$ containing $\mathcal{F}$, ordered by inclusion), there exists an ultrafilter $\mathcal{U}$ on $X$ with $\mathcal{F} \subset \mathcal{U}$.
We show $\mathcal{U}$ does not converge to any $x \in X$. Let $x \in X$. Since $\{V_i\}_{i \in I}$ covers $X$, there exists $i_0 \in I$ with $x \in V_{i_0}$. The complement $X \setminus V_{i_0}$ belongs to $\mathcal{C} \subset \mathcal{F} \subset \mathcal{U}$. By the ultrafilter dichotomy, $V_{i_0} \notin \mathcal{U}$ (since $X \setminus V_{i_0} \in \mathcal{U}$). But $V_{i_0}$ is an open neighbourhood of $x$, so the neighbourhood filter of $x$ is not contained in $\mathcal{U}$. Therefore $\mathcal{U}$ does not converge to $x$.
[guided]
We prove the contrapositive: if $(X, \tau)$ is not compact, then some ultrafilter on $X$ fails to converge.
**Step 1: Extract a family with the FIP.** Since $X$ is not compact, fix an open cover $\{V_i\}_{i \in I}$ with no finite subcover. The complementary family $\mathcal{C} = \{X \setminus V_i\}_{i \in I}$ has the FIP: any finite subcollection $\{X \setminus V_j\}_{j \in J}$ satisfies $\bigcap_{j \in J}(X \setminus V_j) = X \setminus \bigcup_{j \in J} V_j \neq \varnothing$ because $\{V_j\}_{j \in J}$ does not cover $X$ (it is a finite subcollection of a cover with no finite subcover).
**Step 2: Build a filter and extend to an ultrafilter.** A family with the FIP generates a proper filter: define $\mathcal{F}$ to be the collection of all supersets of finite intersections from $\mathcal{C}$. The FIP ensures $\varnothing \notin \mathcal{F}$, so $\mathcal{F}$ is a proper filter. By Zorn's Lemma, extend $\mathcal{F}$ to an ultrafilter $\mathcal{U} \supset \mathcal{F}$. (The poset of proper filters containing $\mathcal{F}$, ordered by inclusion, is non-empty and every chain has an upper bound — its union — which is again a proper filter. Zorn's Lemma provides a maximal element, which is an ultrafilter.)
**Step 3: Show $\mathcal{U}$ does not converge.** For any $x \in X$, since $\{V_i\}_{i \in I}$ covers $X$, there exists $i_0$ with $x \in V_{i_0}$. The complement $X \setminus V_{i_0} \in \mathcal{C} \subset \mathcal{U}$, so the ultrafilter dichotomy forces $V_{i_0} \notin \mathcal{U}$. But $V_{i_0}$ is an open neighbourhood of $x$ not in $\mathcal{U}$, so $\mathcal{U}$ does not converge to $x$. Since $x$ was arbitrary, $\mathcal{U}$ converges to no point of $X$.
This argument is the filter-theoretic formulation of the classical proof via the finite intersection property. The converse direction consumes both the ultrafilter dichotomy (to convert non-convergence into membership of complements) and Zorn's Lemma (to extend the FIP family to an ultrafilter). Neither ingredient can be dropped: the passage from FIP to ultrafilter requires the Axiom of Choice.
[/guided]
[/step]