= Solution
Use the inclusive convention: a <set> is <countable> if it admits an <injective function> into $\mathbb N=\{1,2,\ldots\}$. This includes every <finite set> and the empty set. If $j:X\to\mathbb N$ is injective and $Y\subseteq X$, its restriction to $Y$ is still injective, proving directly that every subset of a <countable set> is countable.
Enumerate pairs by diagonals. The positive-integer <Cantor pairing function>
$$
\pi(a,b)=\frac{(a+b-2)(a+b-1)}2+b
$$
is a <bijection> $\mathbb N^2\to\mathbb N$: on the diagonal $a+b-2=d$, its values are $d(d+1)/2+1$ through $(d+1)(d+2)/2$, each once, and these consecutive blocks partition $\mathbb N$. This proves countability without assuming any product theorem.
For a sequence of <countable sets> $X_1,X_2,\ldots$, choose injections $j_i:X_i\to\mathbb N$. For $x$ in their union, let $i(x)$ be the least index containing $x$. The map
$$
x\longmapsto\pi\bigl(i(x),j_{i(x)}(x)\bigr)
$$
is injective: its encoded index and the injective within-set code recover $x$. Thus a <countable union of countable sets> is countable. Selecting the injections for an arbitrary given family uses the usual <axiom of countable choice>; when the encodings are supplied, the displayed construction is entirely explicit.
For finite Cartesian powers, start with the identity injection on $\mathbb N$ and recursively encode $(a_1,\ldots,a_n)$ as $\pi(j_{n-1}(a_1,\ldots,a_{n-1}),a_n)$. This proves that $\mathbb N^n$ is countable for every <positive integer> $n$ and is the constructive proof of the <finite Cartesian power of a countable set> property.
For each <positive integer> $m$, let $P_m$ consist of the functions for which $m$ is a period. Restriction to the residues $0,1,\ldots,m-1$ is a <bijection> $P_m\to\mathbb N^m$: any tuple extends uniquely to all of $\mathbb Z$ by taking residues modulo $m$, including negative arguments. Hence $P_m$ is countable. Every <periodic function> belongs to some $P_m$, so
$$
\boxed{\{f:\mathbb Z\to\mathbb N:f\text{ is periodic}\}=\bigcup_{m\geq1}P_m\text{ is countable}}.
$$
There is no need to assume the chosen period is minimal; multiple descriptions only create overlap, which does not invalidate the union argument. This is an instance of the <cardinality of integer-periodic function spaces> principle.
Back to article page