[proofplan]
We prove $X \times Y$ is compact using the tube lemma. Given an open cover of $X \times Y$, we refine to basic open sets. For each $x \in X$, the compact slice $\{x\} \times Y$ is covered by finitely many basic open sets; the finite intersection of their $X$-components gives an open "tube" $U_x \times Y$ contained in finitely many cover elements. The tubes $\{U_x\}_{x \in X}$ form an open cover of $X$, which by compactness has a finite subcover, yielding a finite subcover of $X \times Y$.
[/proofplan]
[step:Refine the cover to basic open sets and cover each slice $\{x\} \times Y$]
Let $\mathcal{W}$ be an open cover of $X \times Y$. For each $(x, y) \in X \times Y$, choose $W_{(x,y)} \in \mathcal{W}$ containing $(x, y)$. By definition of the product [topology](/page/Topology), there exist [open sets](/page/Open%20Set) $A_{(x,y)} \subseteq X$ and $B_{(x,y)} \subseteq Y$ with
\begin{align*}
(x, y) \in A_{(x,y)} \times B_{(x,y)} \subseteq W_{(x,y)}.
\end{align*}
Fix $x \in X$. The slice $\{x\} \times Y$ is compact: the map $y \mapsto (x, y)$ is a homeomorphism from $Y$ onto $\{x\} \times Y$, and $Y$ is compact. The collection $\{B_{(x,y)}\}_{y \in Y}$ covers $Y$ (since $y \in B_{(x,y)}$ for each $y$). By compactness of $Y$, there exist $y_1, \ldots, y_m \in Y$ (depending on $x$) with $Y = B_{(x,y_1)} \cup \cdots \cup B_{(x,y_m)}$.
[/step]
[step:Construct an open tube $U_x \times Y$ around each slice]
For the fixed $x$ and the finite collection $y_1, \ldots, y_m$ from the previous step, define
\begin{align*}
U_x = A_{(x,y_1)} \cap \cdots \cap A_{(x,y_m)}.
\end{align*}
This is a finite intersection of open sets in $X$, hence open, and $x \in U_x$ (since $x \in A_{(x,y_j)}$ for every $j$). We verify that $U_x \times Y \subseteq W_{(x,y_1)} \cup \cdots \cup W_{(x,y_m)}$: for any $(x', y') \in U_x \times Y$, there exists $j \in \{1, \ldots, m\}$ with $y' \in B_{(x,y_j)}$ (since $\{B_{(x,y_j)}\}$ covers $Y$), and $x' \in U_x \subseteq A_{(x,y_j)}$, so $(x', y') \in A_{(x,y_j)} \times B_{(x,y_j)} \subseteq W_{(x,y_j)}$.
[guided]
Why do we intersect the $A$-components rather than union them? The goal is to find a single open set $U_x$ in $X$ such that the "tube" $U_x \times Y$ is covered by finitely many sets from $\mathcal{W}$.
Each basic open rectangle $A_{(x,y_j)} \times B_{(x,y_j)}$ guarantees coverage only when the first coordinate lies in $A_{(x,y_j)}$. For a fixed $y'$, we know some $B_{(x,y_j)}$ contains $y'$, so we need the first coordinate $x'$ to lie in the corresponding $A_{(x,y_j)}$.
The catch is that which $j$ captures $y'$ depends on $y'$. To ensure coverage for all $y'$ simultaneously, we need $x'$ to lie in every $A_{(x,y_j)}$ at once. This forces us to take the intersection $U_x = \bigcap_{j=1}^m A_{(x,y_j)}$, not the union.
The intersection is open because it is a finite intersection of open sets (this is where compactness of $Y$ is essential: it reduced the infinite collection to finitely many $y_1, \ldots, y_m$, making the intersection finite).
Now for any $(x', y') \in U_x \times Y$: since $\{B_{(x,y_j)}\}_{j=1}^m$ covers $Y$, some $j$ has $y' \in B_{(x,y_j)}$. Since $x' \in U_x \subseteq A_{(x,y_j)}$, the pair $(x', y') \in A_{(x,y_j)} \times B_{(x,y_j)} \subseteq W_{(x,y_j)}$. The tube $U_x \times Y$ is covered by the finitely many sets $W_{(x,y_1)}, \ldots, W_{(x,y_m)}$.
[/guided]
[/step]
[step:Cover $X$ with tubes and extract a finite subcover of $X \times Y$]
The collection $\{U_x\}_{x \in X}$ is an open cover of $X$ (since $x \in U_x$ for each $x$). By compactness of $X$, there exist $x_1, \ldots, x_k \in X$ with $X = U_{x_1} \cup \cdots \cup U_{x_k}$. Then
\begin{align*}
X \times Y = (U_{x_1} \times Y) \cup \cdots \cup (U_{x_k} \times Y).
\end{align*}
Each tube $U_{x_i} \times Y$ is covered by finitely many sets from $\mathcal{W}$ (the sets $W_{(x_i, y_1)}, \ldots, W_{(x_i, y_{m_i})}$ from the previous steps). The union of these $k$ finite collections is a finite subcollection of $\mathcal{W}$ covering all of $X \times Y$.
[/step]