Cartesian Product of Countable Sets is Countable

Theorem
The cartesian product of two countable sets is countable.

Proof
Let $$S = \left\{{s_0, s_1, s_2, \ldots}\right\}$$ and $$T = \left\{{t_0, t_1, t_2, \ldots}\right\}$$ be countable sets.

If both $$S$$ and $$T$$ are finite, the result follows immediately.

Suppose either of $$S$$ or $$T$$ (or both) is countably infinite.

We can write the elements of $$S \times T$$ in the form of an infinite table:

$$\begin{array} {*{4}c} {\left({s_0, t_0}\right)} & {\left({s_0, t_1}\right)} & {\left({s_0, t_2}\right)} & \cdots \\ {\left({s_1, t_0}\right)} & {\left({s_1, t_1}\right)} & {\left({s_1, t_2}\right)} & \cdots \\ {\left({s_2, t_0}\right)} & {\left({s_2, t_1}\right)} & {\left({s_2, t_2}\right)} & \cdots \\ \vdots & \vdots  & \vdots & \ddots \\ \end{array} $$

This table clearly contains all the elements of $$S \times T$$.

Now we can count the elements of $$S \times T$$ by processing the table diagonally. First we pick $$\left({s_0, t_0}\right)$$. Then we pick $$\left({s_0, t_1}\right), \left({s_1, t_0}\right)$$. Then we pick $$\left({s_0, t_2}\right), \left({s_1, t_1}\right), \left({s_2, t_0}\right)$$.

We can see that all the elements of $$S \times T$$ will (eventually) be listed, and there is a specific number (element of $$\mathbb{N}$$) to index each of its elements with.

Thus we have the required one-to-one correspondence between $$S \times T$$ and $$\mathbb{N}$$, and our assertion is proved.