[proofplan]
The proof has four parts. First we compare the standard product basis with the finite-coordinate cylinders: discreteness of $A$ makes singleton coordinate restrictions open, and every product-basic [open set](/page/Open%20Set) is a union of such singleton cylinders. Next we prove metrizability by writing an explicit metric using a countable enumeration of the coordinates, and we prove compactness from finite compactness of $A$ together with [Tychonoff's theorem](/theorems/953). Finally we compute preimages of cylinders under the one-sided and two-sided shifts; in the two-sided case the inverse shift is obtained by shifting coordinates in the opposite direction.
[/proofplan]
[step:Identify cylinders as the product-basic singleton restrictions]
Fix $I \in \{\mathbb{Z}, \mathbb{N}_0\}$. For each $i \in I$, let $\pi_i: A^I \to A$ denote the coordinate projection, so $\pi_i(x) = x_i$ for $x \in A^I$.
For a finite subset $F \subset I$ and a function $a: F \to A$, the cylinder can be written as
\begin{align*}
C_I(F,a) = \bigcap_{i \in F} \pi_i^{-1}(\{a(i)\}).
\end{align*}
If $F = \varnothing$, this intersection is the whole space $A^I$. Since $A$ has the discrete topology, each singleton $\{a(i)\}$ is open in $A$. Hence each cylinder $C_I(F,a)$ is a product-basic open set in $A^I$.
Conversely, let $U \subset A^I$ be a product-basic open set. Then there are a finite subset $F \subset I$ and open sets $U_i \subset A$ for $i \in F$ such that
\begin{align*}
U = \bigcap_{i \in F} \pi_i^{-1}(U_i).
\end{align*}
For each function $a: F \to A$ satisfying $a(i) \in U_i$ for every $i \in F$, the cylinder $C_I(F,a)$ is contained in $U$. Moreover, every $x \in U$ determines such a function by $a_x(i) := x_i$ for $i \in F$, and then $x \in C_I(F,a_x)$. Therefore
\begin{align*}
U = \bigcup_{\substack{a:F \to A, a(i) \in U_i \text{ for every } i \in F}} C_I(F,a).
\end{align*}
Thus the cylinders form a basis for the [product topology](/page/Product%20Topology) on $A^I$.
[guided]
We want to prove that cylinders are exactly the right kind of local neighbourhoods for the product topology. The product topology on $A^I$ is generated by coordinate projections. For each coordinate $i \in I$, define the projection map
\begin{align*}
\pi_i: A^I \to A
\end{align*}
by $\pi_i(x) = x_i$ for $x \in A^I$.
Now fix a finite subset $F \subset I$ and a function $a: F \to A$. The condition defining $C_I(F,a)$ says that finitely many coordinates of $x$ are fixed to prescribed values. In terms of coordinate projections, this is exactly
\begin{align*}
C_I(F,a) = \bigcap_{i \in F} \pi_i^{-1}(\{a(i)\}).
\end{align*}
The case $F = \varnothing$ is included: no coordinate restriction is imposed, so $C_I(\varnothing,a) = A^I$, where $a:\varnothing \to A$ is the unique function. Since $A$ is discrete, every singleton $\{a(i)\}$ is open in $A$. Therefore each set $\pi_i^{-1}(\{a(i)\})$ is open in the product topology, and a finite intersection of such sets is product-basic open.
For the reverse inclusion, take an arbitrary product-basic open set $U \subset A^I$. By the definition of the product topology, there are finitely many coordinates $F \subset I$ and open sets $U_i \subset A$ for $i \in F$ such that
\begin{align*}
U = \bigcap_{i \in F} \pi_i^{-1}(U_i).
\end{align*}
This says that $x \in U$ exactly when $x_i \in U_i$ for every restricted coordinate $i \in F$. Since $A$ is discrete, each open set $U_i$ is a union of singletons. Thus every allowed coordinate value can be separated into a singleton restriction. More precisely, for every function $a: F \to A$ with $a(i) \in U_i$ for all $i \in F$, the cylinder $C_I(F,a)$ lies inside $U$. Conversely, if $x \in U$, define $a_x: F \to A$ by $a_x(i) := x_i$. Then $a_x(i) \in U_i$ for all $i \in F$, and $x \in C_I(F,a_x)$. Hence
\begin{align*}
U = \bigcup_{\substack{a:F \to A, a(i) \in U_i \text{ for every } i \in F}} C_I(F,a).
\end{align*}
So every product-basic open set is a union of cylinders, while every cylinder is already product-basic open. This proves that cylinders form a basis.
[/guided]
[/step]
[step:Construct an explicit compatible metric on each full shift]
Fix $I \in \{\mathbb{Z}, \mathbb{N}_0\}$. Since $I$ is countable, choose a bijection
\begin{align*}
e_I: \mathbb{N}_0 \to I.
\end{align*}
Define the discrete metric $\rho_A: A \times A \to \mathbb{R}$ by $\rho_A(p,q) = 0$ if $p=q$ and $\rho_A(p,q)=1$ if $p \neq q$. Define
\begin{align*}
d_I: A^I \times A^I \to \mathbb{R}, \qquad d_I(x,y) := \sum_{m=0}^{\infty} 2^{-(m+1)} \rho_A(x_{e_I(m)},y_{e_I(m)}).
\end{align*}
The series converges absolutely and is bounded above by $1$. The function $d_I$ is a metric. Non-negativity follows from non-negativity of $\rho_A$. If $x \neq y$, then $x_i \neq y_i$ for some $i \in I$, and with $m = e_I^{-1}(i)$ the corresponding summand is positive, so $d_I(x,y)>0$. Symmetry follows because $\rho_A(p,q)=\rho_A(q,p)$ for all $p,q\in A$. Finally, for $x,y,z\in A^I$, the triangle inequality follows term by term from the triangle inequality for $\rho_A$ and the non-negative weights $2^{-(m+1)}$ in the defining series.
We verify that $d_I$ induces the product topology. If $F \subset I$ is finite, choose $M \in \mathbb{N}_0$ such that $F \subset \{e_I(0),\dots,e_I(M)\}$. If $x \in C_I(F,a)$, then the metric ball
\begin{align*}
B_{d_I}(x,2^{-(M+1)})
\end{align*}
is contained in $C_I(F,a)$, because changing any coordinate in $F$ contributes at least $2^{-(m+1)} \ge 2^{-(M+1)}$ for some $m \le M$. Thus every cylinder is $d_I$-open.
Conversely, fix $x \in A^I$ and $\varepsilon > 0$. Choose $M \in \mathbb{N}_0$ such that
\begin{align*}
\sum_{m=M+1}^{\infty} 2^{-(m+1)} < \varepsilon.
\end{align*}
Let $F_M := \{e_I(0),\dots,e_I(M)\}$, and define $a_M: F_M \to A$ by $a_M(i) := x_i$. If $y \in C_I(F_M,a_M)$, then the first $M+1$ summands in $d_I(x,y)$ vanish, so
\begin{align*}
d_I(x,y) \leq \sum_{m=M+1}^{\infty} 2^{-(m+1)} < \varepsilon.
\end{align*}
Hence $C_I(F_M,a_M) \subset B_{d_I}(x,\varepsilon)$. Therefore the metric topology agrees with the product topology, and $A^I$ is metrizable.
[/step]
[step:Deduce compactness from compactness of the finite coordinate space]
Because $A$ is finite and discrete, every open cover of $A$ has a finite subcover, so $A$ is compact. Therefore, by Tychonoff's theorem applied to the family $(A)_{i \in I}$, the product space $A^I$ is compact for each $I \in \{\mathbb{Z}, \mathbb{N}_0\}$.
Here Tychonoff's theorem is being used in the following standard form: an arbitrary product of compact topological spaces is compact in the product topology. Applying this [compactness theorem](/theorems/2748) to $I = \mathbb{Z}$ gives compactness of $\Sigma_A$, and applying it to $I = \mathbb{N}_0$ gives compactness of $\Sigma_A^+$. Together with the explicit metrics constructed above, both full shift spaces are compact metrizable spaces.
[/step]
[step:Compute cylinder preimages for the one-sided shift]
Let $\sigma_+: \Sigma_A^+ \to \Sigma_A^+$ be defined by $(\sigma_+(x))_i = x_{i+1}$ for $i \in \mathbb{N}_0$. Fix a finite subset $F \subset \mathbb{N}_0$ and a function $a:F \to A$. Define
\begin{align*}
F_+ := \{i+1 : i \in F\} \subset \mathbb{N}_0.
\end{align*}
Define $a_+:F_+ \to A$ by $a_+(i+1) := a(i)$ for $i \in F$. This is well-defined because $i \mapsto i+1$ is injective on $\mathbb{N}_0$.
For $x \in \Sigma_A^+$, we have $x \in \sigma_+^{-1}(C_{\mathbb{N}_0}(F,a))$ if and only if $(\sigma_+(x))_i = a(i)$ for every $i \in F$. By the definition of $\sigma_+$, this is equivalent to $x_{i+1} = a(i)$ for every $i \in F$, which is equivalent to $x_j = a_+(j)$ for every $j \in F_+$. Hence
\begin{align*}
\sigma_+^{-1}(C_{\mathbb{N}_0}(F,a)) = C_{\mathbb{N}_0}(F_+,a_+).
\end{align*}
The right-hand side is a cylinder and is therefore open. Since cylinders form a basis for $\Sigma_A^+$, the preimage of every basis element is open. Thus $\sigma_+$ is continuous.
[/step]
[step:Compute cylinder preimages for the two-sided shift and its inverse]
Let $\sigma: \Sigma_A \to \Sigma_A$ be defined by $(\sigma(x))_i = x_{i+1}$ for $i \in \mathbb{Z}$. Fix a finite subset $F \subset \mathbb{Z}$ and a function $a:F \to A$. Define
\begin{align*}
F_+ := \{i+1 : i \in F\} \subset \mathbb{Z}
\end{align*}
and define $a_+:F_+ \to A$ by $a_+(i+1) := a(i)$ for $i \in F$. This is well-defined because the map $i\mapsto i+1$ is injective on $\mathbb{Z}$.
For $x\in\Sigma_A$, we have $x\in\sigma^{-1}(C_{\mathbb{Z}}(F,a))$ if and only if $(\sigma(x))_i=a(i)$ for every $i\in F$. By the definition of $\sigma$, this is equivalent to $x_{i+1}=a(i)$ for every $i\in F$, which is equivalent to $x_j=a_+(j)$ for every $j\in F_+$. Hence
\begin{align*}
\sigma^{-1}(C_{\mathbb{Z}}(F,a)) = C_{\mathbb{Z}}(F_+,a_+).
\end{align*}
Thus $\sigma$ is continuous.
Define
\begin{align*}
\tau: \Sigma_A \to \Sigma_A
\end{align*}
by $(\tau(x))_i = x_{i-1}$ for $i \in \mathbb{Z}$. For every $x \in \Sigma_A$ and every $i \in \mathbb{Z}$,
\begin{align*}
(\sigma(\tau(x)))_i = (\tau(x))_{i+1} = x_i
\end{align*}
and
\begin{align*}
(\tau(\sigma(x)))_i = (\sigma(x))_{i-1} = x_i.
\end{align*}
Hence $\tau = \sigma^{-1}$.
It remains to check that $\tau$ is continuous. For a finite subset $F \subset \mathbb{Z}$ and a function $a:F \to A$, define
\begin{align*}
F_- := \{i-1 : i \in F\} \subset \mathbb{Z}
\end{align*}
and define $a_-:F_- \to A$ by $a_-(i-1) := a(i)$ for $i \in F$. Then
\begin{align*}
\tau^{-1}(C_{\mathbb{Z}}(F,a)) = C_{\mathbb{Z}}(F_-,a_-).
\end{align*}
Thus $\tau$ is continuous. Therefore $\sigma$ is a continuous bijection with continuous inverse $\tau$, so $\sigma$ is a homeomorphism.
[/step]