Shift space

In symbolic dynamics and related branches of mathematics, a shift space or subshift is a set of infinite words that represent the evolution of a discrete system. In fact, shift spaces and symbolic dynamical systems are often considered synonyms. The most widely studied shift spaces are the subshifts of finite type and the sofic shifts.

In the classical framework a shift space is any subset $$\Lambda$$ of $$A^\mathbb{Z}:=\{(x_i)_{i\in\mathbb{Z}}:\ x_i\in A\ \forall i\in\mathbb{Z}\}$$, where $$A$$ is a finite set, which is closed for the Tychonov topology and invariant by translations. More generally one can define a shift space as the closed and translation-invariant subsets of $$A^\mathbb{G}$$, where $$A$$ is any non-empty set and $$\mathbb{G}$$ is any monoid.

Definition
Let $$\mathbb{G}$$ be a monoid, and given $$g,h\in\mathbb{G}$$, denote the operation of $$g$$ with $$h$$ by the product $$gh$$. Let $$\mathbf{1}_{\mathbb{G}}$$ denote the identity of $$\mathbb{G}$$. Consider a non-empty set $$A$$ (an alphabet) with the discrete topology, and define $$A^\mathbb{G}$$ as the set of all patterns over $$A$$ indexed by $$\mathbb{G}$$. For $$\mathbf{x}=(x_i)_{i\in \mathbb{G}}\in A^\mathbb{G}$$ and a subset $$N\subset\mathbb{G}$$, we denote the restriction of $$\mathbf{x}$$ to the indices of $$N$$ as $$\mathbf{x}_N:=(x_i)_{i\in N}$$.

On $$A^\mathbb{G}$$, we consider the prodiscrete topology, which makes $$A^\mathbb{G}$$ a Hausdorff and totally disconnected topological space. In the case of $$A$$ being finite, it follows that $$A^\mathbb{G}$$ is compact. However, if $$A$$ is not finite, then $$A^\mathbb{G}$$ is not even locally compact.

This topology will be metrizable if and only if $$\mathbb{G}$$ is countable, and, in any case, the base of this topology consists of a collection of open/closed sets (called cylinders), defined as follows: given a finite set of indices $$D\subset \mathbb{G}$$, and for each $$i\in D$$, let $$a_i\in A$$. The cylinder given by $$D$$ and $$(a_i)_{i\in D}\in A^{|D|}$$ is the set $$\big[(a_i)_{i\in D}\big]_D:=\{\mathbf{x}\in A^\mathbb{G}:\ x_i=a_i,\ \forall i\in D\}.$$ When $$D=\{g\}$$, we denote the cylinder fixing the symbol $$b$$ at the entry indexed by $$g$$ simply as $$[b]_g$$.

In other words, a cylinder $$\big[(a_i)_{i\in D}\big]_D$$ is the set of all set of all infinite patterns of $$A^\mathbb{G}$$ which contain the finite pattern $$(a_i)_{i\in D}\in A^{|D|}$$.

Given $$g\in\mathbb{G}$$, the g-shift map on $$A^\mathbb{G}$$ is denoted by $$\sigma^g:A^\mathbb{G}\to A^\mathbb{G}$$ and defined as $$\sigma^g\big((x_i)_{i\in\mathbb{G}}\big)=(x_{gi})_{i\in\mathbb{G}}$$.

A shift space over the alphabet $$A$$ is a set $$\Lambda\subset A^\mathbb{G}$$ that is closed under the topology of $$A^\mathbb{G}$$ and invariant under translations, i.e., $$\sigma^g(\Lambda)\subset \Lambda$$ for all $$g\in\mathbb{G}$$. We consider in the shift space $$\Lambda$$ the induced topology from $$A^\mathbb{G}$$, which has as basic open sets the cylinders $$\big[(a_i)_{i\in D}\big]_\Lambda:=\big[(a_i)_{i\in D}\big]\cap\Lambda$$.

For each $$k\in\N^*$$, define $$\mathcal{N}_k:=\bigcup_A^N$$, and $$\mathcal{N}^f_{A^\mathbb{G}}:=\bigcup_\mathcal{N}_k= \bigcup_A^N$$. An equivalent way to define a shift space is to take a set of forbidden patterns $$F\subset\mathcal{N}^f_{A^\mathbb{G}}$$ and define a shift space as the set $$X_F:=\{\mathbf{x}\in A^\mathbb{G}:\ \forall N\subset\mathbb{G}, \forall g\in\mathbb{G},\ \left(\sigma^g(\mathbf{x})\right)_{N}=\mathbf{x}_{gN}\notin F\}.$$

Intuitively, a shift space $$X_F$$ is the set of all infinite patterns that do not contain any forbidden finite pattern of $$F$$.

Language of shift space
Given a shift space $$\Lambda\subset A^\mathbb{G}$$ and a finite set of indices $$N\subset\mathbb{G}$$, let $$W_\emptyset(\Lambda):=\{\epsilon\}$$, where $$\epsilon$$ stands for the empty word, and for $$N\neq\emptyset$$ let $$W_N(\Lambda)\subset A^N$$ be the set of all finite configurations of $$A^N$$ that appear in some sequence of $$\Lambda$$, i.e.,

$$W_N(\Lambda):=\{(w_i)_{i\in N}\in A^N:\ \exists \ \mathbf{x}\in\Lambda \text{ s.t. } x_i=w_i\ \forall i\in N\}.$$

Note that, since $$\Lambda$$ is a shift space, if $$M\subset\mathbb{G}$$ is a translation of $$N\subset\mathbb{G}$$, i.e., $$M=gN$$ for some $$g\in\mathbb{G}$$, then $$(w_j)_{j\in M}\in W_M(\Lambda)$$ if and only if there exists $$(v_i)_{i\in N}\in W_N(\Lambda)$$ such that $$w_j=v_i$$ if $$j=gi$$. In other words, $$W_M(\Lambda)$$ and $$W_N(\Lambda)$$ contain the same configurations modulo translation. We will call the set

$$W(\Lambda):=\bigcup_W_N(\Lambda)$$

the language of $$\Lambda$$. In the general context stated here, the language of a shift space has not the same mean of that in Formal Language Theory, but in the classical framework which considers the alphabet $$A$$ being finite, and $$\mathbb{G}$$ being $$\mathbb{N}$$ or $$\mathbb{Z}$$ with the usual addition, the language of a shift space is a formal language.

Classical framework
The classical framework for shift spaces consists of considering the alphabet $$A$$ as finite, and $$\mathbb{G}$$ as the set of non-negative integers ($$\mathbb{N}$$) with the usual addition, or the set of all integers ($$\mathbb{Z}$$) with the usual addition. In both cases, the identity element $$\mathbf{1}_{\mathbb{G}}$$ corresponds to the number 0. Furthermore, when $$\mathbb{G}=\mathbb{N}$$, since all $$\mathbb{N}\setminus\{0\}$$ can be generated from the number 1, it is sufficient to consider a unique shift map given by $$\sigma(\mathbf{x})_n=x_{n+1}$$ for all $$n$$. On the other hand, for the case of $$\mathbb{G}=\mathbb{Z}$$, since all $$\mathbb{Z}$$ can be generated from the numbers {-1, 1}, it is sufficient to consider two shift maps given for all $$n$$ by $$\sigma(\mathbf{x})_n=x_{n+1}$$ and by $$\sigma^{-1}(\mathbf{x})_n=x_{n-1}$$.

Furthermore, whenever $$\mathbb{G}$$ is $$\mathbb{N}$$ or $$\mathbb{Z}$$ with the usual addition (independently of the cardinality of $$A $$), due to its algebraic structure, it is sufficient consider only cylinders in the form

$$[a_0a_1...a_n]:=\{(x_i)_{i\in\mathbb{G}}:\ x_i=a_i\ \forall i=0,..,n\}.$$

Moreover, the language of a shift space $$\Lambda \subset A^\mathbb{G}$$ will be given by

$$W(\Lambda):=\bigcup_{n\geq 0}W_n(\Lambda), $$

where $$W_0:=\{\epsilon\}$$ and $$\epsilon$$ stands for the empty word, and

$$W_n(\Lambda):=\{((a_i)_{i=0,..n}\in A^n:\ \exists \mathbf{x}\in \Lambda\ s.t.\ x_i=a_i\ \forall i=0,...,n\}. $$

In the same way, for the particular case of $$\mathbb{G}=\mathbb{Z}$$, it follows that to define a shift space $$\Lambda=X_F$$ we do not need to specify the index of $$\mathbb{G}$$ on which the forbidden words of $$F$$ are defined, that is, we can just consider $$F\subset \bigcup_{n\geq 1}A^n$$ and then

$$X_F=\{\mathbb{x}\in A^\mathbb{Z}:\ \forall i\in\mathbb{Z},\ \forall k\geq 0,\ (x_i...x_{i+k})\notin F \}.$$

However, if $$\mathbb{G}=\mathbb{N}$$, if we define a shift space $$\Lambda=X_F$$ as above, without to specify the index of where the words are forbidden, then we will just capture shift spaces which are invariant through the shift map, that is, such that $$\sigma(X_F)=X_F$$. In fact, to define a shift space $$X_F\subset A^\mathbb{N}$$ such that $$\sigma(X_F)\subsetneq X_F$$ it will be necessary to specify from which index on the words of $$F$$ are forbidden.

In particular, in the classical framework of $$A$$ being finite, and $$\mathbb{G}$$ being $$\mathbb{N}$$) or $$\mathbb{Z}$$ with the usual addition, it follows that $$M_F$$ is finite if and only if $$F$$ is finite, which leds to classical definition of a shift of finite type as those shift spaces $$\Lambda\subset A^\mathbb{G}$$ such that $$\Lambda=X_F$$ for some finite $$F$$.

Some types of shift spaces
Among several types of shift spaces, the most widely studied are the shifts of finite type and the sofic shifts.

In the case when the alphabet $$A$$ is finite, a shift space $$\Lambda$$ is a shift of finite type if we can take a finite set of forbidden patterns $$F$$ such that $$\Lambda=X_F$$, and $$\Lambda$$ is a sofic shift if it is the image of a shift of finite type under sliding block code (that is, a map $$\Phi$$ that is continuous and invariant for all $$g$$-shift maps ). If $$A$$ is finite and $$\mathbb{G}$$ is $$\mathbb{N}$$ or $$\mathbb{Z}$$ with the usual addition, then the shift $$\Lambda$$ is a sofic shift if and only if $$W(\Lambda)$$ is a regular language.

The name "sofic" was coined by, based on the Hebrew word סופי meaning "finite", to refer to the fact that this is a generalization of a finiteness property.

When $$A$$ is infinite, it is possible to define shifts of finite type as shift spaces $$\Lambda$$ for those one can take a set $$F$$ of forbidden words such that $$M_F:=\{g\in\mathbb{G}:\ \exists N\subset \mathbb{G}\text{ s.t. } g\in N\text{ and } (w_i)_{i\in N}\in F \},$$ is finite and $$\Lambda=X_F$$. In this context of infinite alphabet, a sofic shift will be defined as the image of a shift of finite type under a particular class of sliding block codes. Both, the finiteness of $$M_F$$ and the additional conditions the sliding block codes, are trivially satisfied whenever $$A$$ is finite.

Topological dynamical systems on shift spaces
Shift spaces are the topological spaces on which symbolic dynamical systems are usually defined.

Given a shift space $$\Lambda\subset A^\mathbb{G}$$ and a $$g$$-shift map $$\sigma^g:\Lambda\to\Lambda$$ it follows that the pair $$(\Lambda,\sigma^g)$$ is a topological dynamical system.

Two shift spaces $$\Lambda\subset A^\mathbb{G}$$ and $$\Gamma\subset B^\mathbb{G}$$  are said to be topologically conjugate (or simply conjugate) if for each $$g$$-shift map it follows that the topological dynamical systems $$(\Lambda,\sigma^g)$$ and $$(\Gamma,\sigma^g)$$ are topologically conjugate, that is, if there exists a continuous map $$\Phi:\Lambda\to\Gamma$$ such that  $$\Phi\circ\sigma^g=\sigma^g\circ \Phi$$. Such maps are known as generalized sliding block codes or just as sliding block codes whenever $$\Phi$$ is uniformly continuous.

Although any continuous map $$\Phi$$ from $$\Lambda\subset A^\mathbb{G}$$ to itself will define a topological dynamical system $$(\Lambda,\Phi)$$, in symbolic dynamics it is usual to consider only continuous maps $$\Phi:\Lambda\to\Lambda$$ which commute with all $$g$$-shift maps, i. e., maps which are generalized sliding block codes. The dynamical system $$(\Lambda,\Phi)$$ is known as a 'generalized cellular automaton' (or just as a cellular automaton whenever $$\Phi$$ is uniformly continuous).

Examples
The first trivial example of shift space (of finite type) is the full shift $$A^\mathbb N$$.

Let $$A=\{a,b\}$$. The set of all infinite words over A containing at most one b is a sofic subshift, not of finite type. The set of all infinite words over A whose b form blocks of prime length is not sofic (this can be shown by using the pumping lemma).

The space of infinite strings in two letters, $$\{0,1\}^\mathbb{N}$$ is called the Bernoulli process. It is isomorphic to the Cantor set.

The bi-infinite space of strings in two letters, $$\{0,1\}^\mathbb{Z}$$ is commonly known as the Baker's map, or rather is homomorphic to the Baker's map.