Is my proof of the fact that the product of two compact metric spaces is compact correct? Sometimes ago I have posted this question. After sometime of working I think that I have found out a different proof (not "purely topological"). I didn't post it there as an answer because (1) the following proof doesn't meet my criteria and (2) till now I am not sure if I am missing something or not.
My Proof.

Claim.
Let $I$ and $J$ be two index sets. Then, $$\displaystyle\bigcup_{(\alpha,\beta)\in I\times J}(X_\alpha\times Y_\beta)=\left(\displaystyle\bigcup_{\alpha\in I}X_\alpha\right)\times \left(\displaystyle\bigcup_{\beta\in J}Y_\beta\right)$$
Proof. Observe that, \begin{align*}(x,y)\in \displaystyle\bigcup_{(\alpha,\beta)\in I\times J}(X_\alpha\times Y_\beta)&\iff(\exists (\alpha_0,\beta_0)\in I\times J)[(x,y)\in X_{\alpha_0}\times Y_{\beta_0}]\\&\iff\bigl((\exists \alpha_0\in I)[x\in X_{\alpha_0}]\bigr)\land\bigl((\exists \beta_0\in J)[y\in Y_{\beta_0}]\bigr)\\&\iff \left(x\in \displaystyle\bigcup_{\alpha\in I}X_\alpha\right)\land \left(y\in \displaystyle\bigcup_{\beta\in J}Y_\alpha\right)\\&\iff (x,y)\in \left(\displaystyle\bigcup_{\alpha\in I}X_\alpha\right)\times \left(\displaystyle\bigcup_{\beta\in J}Y_\beta\right)\end{align*}
Claim 2.  Let $(X,d_X)$ and $(Y,d_Y)$ be two compact metric space. Then show that the product metric space $(X\times Y,d_{X\times Y})$ is also compact.
Proof. Let $\mathcal{F}:=\{W_\gamma:\gamma\in\Lambda\}$ be an open cover of $X\times Y$. Since $W_\gamma$ is open for all $\gamma\in \Lambda$ we conclude that for all $(x,y)\in X\times Y$ we have, \begin{align*}B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)\subseteq W_\gamma\end{align*} for some $\gamma\in \Lambda$. Consequently for all $(x,y)\in X\times Y$ we have, $$B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)\subseteq\displaystyle\bigcup_{\gamma\in\Lambda} W_\gamma$$Hence, \begin{align*}\displaystyle\bigcup_{(x,y)\in X\times Y}B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)\subseteq\displaystyle\bigcup_{\gamma\in\Lambda} W_\gamma\end{align*}Since $(X\times Y,d_{X\times Y})$ is a product metric space we have,  \begin{align*}\displaystyle\bigcup_{(x,y)\in X\times Y}B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)=\displaystyle\bigcup_{(x,y)\in X\times Y}\left(B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\times B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)\end{align*}By our previous claim we then have, $$\displaystyle\bigcup_{(x,y)\in X\times Y}\left(B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\times B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)=\left(\displaystyle\bigcup_{x\in X}B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\right)\times\left(\displaystyle\bigcup_{y\in Y}B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)$$Since $X$ and $Y$ both are compact, there exists finite subsets $X_0\subseteq X$ and $Y_0\subseteq Y$ such that, \begin{align*}\left(\displaystyle\bigcup_{x\in X}B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\right)\times\left(\displaystyle\bigcup_{y\in Y}B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)=\left(\displaystyle\bigcup_{x\in X_0}B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\right)\times\left(\displaystyle\bigcup_{y\in Y_0}B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)\end{align*}Again applying our previous claim and by properties of product metric space we get, \begin{align*}\left(\displaystyle\bigcup_{x\in X_0}B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\right)\times\left(\displaystyle\bigcup_{y\in Y_0}B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)&=\displaystyle\bigcup_{(x,y)\in X_0\times Y_0}\displaystyle\left(B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\times B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)\\&=\displaystyle\bigcup_{(x,y)\in X_0\times Y_0}B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)\end{align*}Since for all $(x,y)\in X\times Y$ we have $B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)\subseteq W_\gamma$ for some $\gamma\in \Lambda$, it follows that there exists a finite set $\Lambda_0\subseteq \Lambda$ such that, $$\displaystyle\bigcup_{(x,y)\in X_0\times Y_0}B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)\subseteq\displaystyle\bigcup_{\gamma\in\Lambda_0} W_\gamma$$Since, $$X\times Y\subseteq  \displaystyle\bigcup_{(x,y)\in X_0\times Y_0}B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)\subseteq\displaystyle\bigcup_{\gamma\in\Lambda_0} W_\gamma$$we have thus obtained the finite subcover of $X\times Y$.


Question. Is my proof correct?
 A: This part serves no purpose:

Consequently for all $(x,y)\in X\times Y$ we have, $$B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)\subseteq\displaystyle\bigcup_{\gamma\in\Lambda} W_\gamma$$Hence, \begin{align*}\displaystyle\bigcup_{(x,y)\in X\times Y}B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)\subseteq\displaystyle\bigcup_{\gamma\in\Lambda} W_\gamma\end{align*}

You know that $\bigcup_{\gamma\in\Lambda}W_\gamma=X\times Y$, and of course all of these open balls are subsets of $X\times Y$. What you need to point out is that 
$$\bigcup_{\langle x,y\rangle\in X\times Y}B_{d_{X\times Y}}\left(\langle x,y\rangle,\epsilon_{\langle x,y\rangle}\right)=X\times Y\;,$$
i.e., that this collection of open $d_{X\times Y}$-balls is an open cover of $X\times Y$. Then you write:

Since $(X\times Y,d_{X\times Y})$ is a product metric space we have,  \begin{align*}\displaystyle\bigcup_{(x,y)\in X\times Y}B_{d_{X\times Y}}\left((x,y),\varepsilon_{(x,y)}\right)=\displaystyle\bigcup_{(x,y)\in X\times Y}\left(B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\times B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)\end{align*}

In fact there are many ways to define a product metric on $X\times Y$, and for two of the most common ones what you’ve written here is false. You need to specify that $d_{X\times Y}$ is defined by
$$d_{X\times Y}\big(\langle x_0,y_0\rangle,\langle x_1,y_1\rangle\big)=\max\left\{d_X(x_0,x_1),d_Y(y_0,y_1)\right\}\;.$$
The other very common definitions of $d_{X\times Y}\big(\langle x_0,y_0\rangle,\langle x_1,y_1\rangle\big)$,
$$\sqrt{\left(d_X(x_0,x_0)\right)^2+\left(d_Y(y_0,y_1)\right)^2}$$
and
$$d_X(x_0,x_1)+d_Y(y_0,y_1)\;,$$
don’t work the way that you need $d_{X\times Y}$ to work for your argument. However, this next bit doesn’t quite work anyway:

By our previous claim we then have, $$\displaystyle\bigcup_{(x,y)\in X\times Y}\left(B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\times B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)=\left(\displaystyle\bigcup_{x\in X}B_{d_{X}}\left(x,\varepsilon_{(x,y)}\right)\right)\times\left(\displaystyle\bigcup_{y\in Y}B_{d_{Y}}\left(y,\varepsilon_{(x,y)}\right)\right)$$

For a given $x\in X$ there isn’t just one set $B_{d_X}\left(x,\epsilon_{\langle x,y\rangle}\right)$: there’s one for each $y\in Y$. You should form two collections here,
$$\mathscr{B}_X=\left\{B_{d_X}\left(x,\epsilon_{\langle x,y\rangle}\right):\langle x,y\rangle\in X\times Y\right\}$$
and
$$\mathscr{B}_Y=\left\{B_{d_Y}\left(x,\epsilon_{\langle x,y\rangle}\right):\langle x,y\rangle\in X\times Y\right\}\;.$$
You know that $\mathscr{B}_X$ is an open cover of $X$, and $\mathscr{B}_Y$ is an open cover of $Y$, so each has a finite subcover. There’s no good reason to name the elements of these finite subcovers individually: doing so just clutters up the notation to no purpose. Let $\mathscr{B}_X'$ be a finite subfamily of $\mathscr{B}_X$ covering $X$, and let $\mathscr{B}_Y'$ be a finite subfamily of $\mathscr{B}_Y$ covering $Y$. Then 
$$\begin{align*}
X\times Y&=\left(\bigcup\mathscr{B}_X'\right)\times\left(\bigcup\mathscr{B}_Y'\right)\\
&=\bigcup_{\langle B_X,B_Y\rangle\in\mathscr{B}_X'\times\mathscr{B}_Y'}(B_X\times B_Y)\;.
\end{align*}$$
Unfortunately, here you get into serious trouble. There are $\langle x_0,y_0\rangle,\langle x_1,y_1\rangle\in X\times Y$ such that
$$B_X=B_{d_X}\left(x_0,\epsilon_{\langle x_0,y_0\rangle}\right)$$
and
$$B_Y=B_{d_X}\left(y_1,\epsilon_{\langle x_1,y_1\rangle}\right)\;,$$
but $\langle x_0,y_0\rangle$ and $\langle x_1,y_1\rangle$ may be different points, and $\epsilon_{\langle x_0,y_0\rangle}$ need not equal $\epsilon_{\langle x_1,y_1\rangle}$. Thus, $B_X\times B_Y$ need not be one of your original balls of the form $B_{d_{X\times Y}}\left(\langle x,y\rangle,\epsilon_{\langle x,y\rangle}\right)$. I don’t at the moment see any way to salvage this approach.
