This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A strongly universal cellular automaton in the dodecagrid with five states

Maurice Margenstern
Abstract

In this paper, we prove that there is a strongly universal cellular automaton in the dodecagrid, the tessellation {5,3,4}\{5,3,4\} of the hyperbolic 3D3D space, with five states which is rotation invariant. This improves a previous paper of the author where the automaton required ten states.

1 Introduction

In many papers, the author studied the possibility to construct universal cellular automata in tilings of the hyperbolic plane, a few ones in the hyperbolic 3D3D space. Most often, the constructed cellular automaton was weakly universal. By weakly universal, we mean that the automaton is able to simulate a universal device starting from an infinite initial configuration. However, the initial configuration should not be arbitrary. It was the case as far as it was periodic outside a large enough circle, in fact it was periodic outside such a circle in two different directions: the simulated device was a two-registered machine, which is enough for that purpose from a theorem established by Coke-Minsky, [13].

In the present paper, we consider the tiling of the hyperbolic 3D3D-space which we call the dodecagrid whose signature is, by definition, {5,3,4}\{5,3,4\}. In that signature, 5 is the number of sides of a face, 3 is the number of edges which meet at a vertex, 4 is the number of dodecahedrons around an edge. In the hyperbolic 3D3D-space, there is another tessellation based on another dodecahedron whose signature is {5,3,5}\{5,3,5\} which means that around an edge, there should be five dodecahedrons. That latter dodecahedron, 𝒟\mathcal{D}, is different from the one we consider in the present paper. Our dodecahedron, called also Poincaré’s dodecahedron has right-angles between contiguous sides of its faces and the dihedral angle between adjacent faces is also a right angle. It is not the case for 𝒟\mathcal{D} whose dihedral angle is smaller, as far as it is 2π5\displaystyle{{2\pi}\over 5} and, consequently, it is bigger than Poincaré’s dodecahedron. From now on, we consider the dodecagrid only and its dodecahedrons are always copies of Poincaré’s dodecahedron, which we denote by Δ\Delta.

Below, Figure 1 provides us with a representation of Δ\Delta according to Schlegel representation of the solid. That representation could be used to represent the dodecagrid too. However, here, we shall use another representation illustrated by Figure 3 which we shall again meet later in Section 3. That figure makes use of a property we shall see with the explanations about Figure 1. Before turning to that argumentation, we presently deal with the Schlegel representation.

Figure 1 is obtained by the projection of the vertices and the edges of Δ\Delta on the plane of one of its faces. Note that such a projection can be performed both in the Euclidean 3D3D-space and in the hyperbolic one. [Uncaptioned image]

Figure 1
The Schlegel representation of the dodecahedron Δ\Delta.

As shown on the figure, we number the faces of Δ\Delta. Face 0 is the face whose plane is the one on which the projection is performed. We number the faces around face 0 by clockwise turning around the face when we look at the plane from a point which stands over Δ\Delta. ’Over’ means that Δ\Delta and the centre of the projection are on the same half-space defined by the plane on which the projection is performed. If we consider the face which is opposed to face 0, we also number the remaining faces of Δ\Delta, they are also clockwise numbered from 6 to 10 with face 6 sharing a side with face 5 and another one with face 1. The not yet numbered face which is opposite to face 0 is now numbered 11. That numbering will be the basic numbering from which we derive a numbering of the vertices as shown on the figure: we first number the vertices of face 0, then the other end of the edge abutting the already numbered vertices. We repeat the process as far as three edges meet at a vertex, until all vertices are numbered. The numbering which we performed in that way is also clockwise performed. However, later on, when we shall have to point at a vertex or an edge, we shall indicate the faces which share that element: two faces for an edge, three faces for a vertex.

Later, we shall consider the neighbours of a dodecahedron in the dodecagrid. Consider such a tile, say Δ\Delta again, and assume a numbering of its faces obtained as in Figure 1. Let FiF_{i} be the face numbered by ii, with i{0..11}i\in\{0..11\}, we say later on face ii. We say that FiF_{i} and FjF_{j}, with iji\not=j are contiguous if and only if they share an edge. There is a single dodecahedron of the dodecagrid which shares FiF_{i} with Δ\Delta, we denote that dodecahedron by Δi\Delta_{i}. We say that Δi\Delta_{i} is a neighbour of Δ\Delta. We shall often say that Δ\Delta and Δi\Delta_{i} can see each other through face ii and other expressions connected with vision. Of course, in face ii, ii is the number of FiF_{i} in Δ\Delta. Now the face may receive another number in Δi\Delta_{i}. Often, we decide that face ii in Δ\Delta is face 0 in Δi\Delta_{i} and that a face of Δi\Delta_{i} which is in the same plane as a face jj of Δ\Delta receives the number jj in Δi\Delta_{i} too. We shall do that in what follows if not otherwise specified. The neighbours of Δ\Delta share an important property:

Proposition 1

if FiF_{i} and FjF_{j} are contiguous faces, Δi\Delta_{i} and Δj\Delta_{j} cannot see each other, but Δij=Δji\Delta_{i_{j}}=\Delta_{j_{i}}.

The proposition is an easy corollary of the following assertion:

Lemma 1

Two tiles T1T_{1} and T2T_{2} of the dodecagrid which share and edge ss can see each other if and only if there is a plane Π\Pi containing ss such that T1T_{1} and T2T_{2} are completely contained in the same closed half-space defined by Π\Pi.

Proof of the proposition and of the lemma.By construction, let Πi\Pi_{i} be the plane containing FiF_{i}. That plane defines a half-space 𝒮\mathcal{S} which contains Δ\Delta. Clearly, Δi\Delta_{i} and Δ\Delta are not both in 𝒮\mathcal{S}: otherwise we would have Δ=Δi\Delta=\Delta_{i}. From a similar argument, Δj\Delta_{j} and Δ\Delta are not on the same side with respect to Πj\Pi_{j}.By construction, as FiF_{i} and FjF_{j} are contiguous, ΠiΠj\Pi_{i}\perp\Pi_{j}. Now, if =ΠiΠj\ell=\Pi_{i}\cap\Pi_{j}, Πi\Pi_{i} and Πj\Pi_{j} define four dihedral right angles around \ell. By construction, Δ\Delta lies inside one angle, Δi\Delta_{i} lies in a second one which is in the same side as Δ\Delta with respect to Πj\Pi_{j} and, symmetrically, Δj\Delta_{j} lies in a third angle which is in the same side as Δ\Delta with respect to Πi\Pi_{i}. The fourth angle may contain a dodecahedron which shares the same edge with Δ\Delta, Δi\Delta_{i} and Δj\Delta_{j}: it is a neighbour of Δi\Delta_{i} seen from its face jj but also, for the same reason, a neighbour of Δj\Delta_{j} seen from its face ii. Now, by construction of the dodecagrid, there can exactly be four dodecahedrons around an edge, so that the neighbour jj of Δi\Delta_{i} is the neighbour ii of Δj\Delta_{j} which can be written Δij=Δji\Delta_{i_{j}}=\Delta_{j_{i}} as in Proposition 1. \Box

In particular, if two faces of tiles T1T_{1} and T2T_{2} sharing and edge ss are in the same plane Π\Pi, and if T1T_{1} and T2T_{2} are not in the same half-space defined by Π\Pi the tiles cannot see each other. A fortiori, if the tiles have no common element, they cannot see each other.

The cellular automaton we construct in Section 3 evolves in the hyperbolic 3D3D space but a large part of the construction deals with a single plane which we shall call the horizontal plane denoted by \mathcal{H}. In fact, both sides of \mathcal{H} will be used by the construction and most tiles of our construction have a face on \mathcal{H}.

We take advantage of that circumstance to define a particular representation which we find more appropriate to our purpose.

The trace of the dodecagrid on \mathcal{H} is a tiling of the hyperbolic plane, namely the tiling {5,4}\{5,4\} we call the pentagrid. The left-hand side part of Figure 2 illustrates the tiling and its right-hand side part illustrates a way to locate the cells of the pentagrid. Let us look closer at the figure whose pictures live in Poincaré’s disc, a popular representation of the hyperbolic plane, see [2].

[Uncaptioned image] [Uncaptioned image]

Figure 2

To left: a representation of the pentagrid in Poincarés disc model of the hyperbolic plane. To right: a splitting of the hyperbolic plane into five sectors around a once and for all fixed central tile.

In the right-hand side picture, we can see five tiles which are counter-clockwise numbered from 1 up to 5, those tiles being the neighbours of a tile which we call the central tile for convenience. Indeed, there is no central tile in the pentagrid as there is no central point in the hyperbolic plane. We can see the disc model as a window over the hyperbolic plane, as if we were flying over that plane in an abstract spacecraft. The centre of the circle is the point on which are attention is focused while the circle itself is our horizon. Accordingly, the central tile is the tile which is central with respect to the area under our consideration. It is also the reason to number the central tile by 0.

The right-hand side picture shows us five blocs of tiles we call sectors. Each sector is defined by a unique tile which shares and edge with the central one. We number that tile by 1. It is a green tile on the picture. The sector is delimited by two rays uu and vv issued from a vertex of tile 1: they continue two consecutive sides of tile 0. Those rays are supported by straight lines in the hyperbolic plane and they define a right angle. Tile 1 is called the head of the sector it defines : the sector is the set of tiles contained in the angle defined by uu and vv. We also number the sectors from 1 to 5 by counter-clockwise turning around tile 0. We also say that two tiles are neighbouring or that they are neighbours of each other if and only if they have a common side.

[Uncaptioned image]

Figure 3

A configuration we shall later meet in Section 3. The central tile is, in some sense, the centre of that configuration. A dark blue face means that a blue dodecahedron is put on that face.

Consider the configuration illustrated by Figure 3. We can see the Schlegel projection of a dodecahedron on each tile of the picture. A few dodecahedrons have another light colour and on each of them, three faces have a dark blue face. We call them the elements of a track. Tile 0 is the central tile of the picture. Around tile 0, we can see three elements of track exactly, the other neighbouring tiles having a uniform light colour: we call them blank tiles. We number the elements of tracks by the number of their sectors, here 1, 3 and 5 by counter-clockwise turning around tile 0. On the picture, tile 3 is just below tile 0. Let us look closer at tiles 0 and 3 of \mathcal{H}. Let Δ0\Delta_{0} and Δ3\Delta_{3} be the tiles of the dodecagrid which are put on tiles 0 and 3 of \mathcal{H} respectively. Assume that the face 1 of Δ0\Delta_{0} and of Δ3\Delta_{3} share the side which is shared by the tiles 0 and 3 of \mathcal{H}. By construction of the figure, tiles 0 and 3 are on the same side with respect to \mathcal{H}. As a corollary, the faces 1 of Δ0\Delta_{0} and Δ3\Delta_{3} coincide so that, according to Lemma 1 and to Proposition 1, (Δ0)1=Δ3(\Delta_{0})_{1}=\Delta_{3} and (Δ3)1=Δ0(\Delta_{3})_{1}=\Delta_{0}. From the same proposition, we can see that (Δ0)6(\Delta_{0})_{6} and (Δ0)7(\Delta_{0})_{7} cannot see each other but (Δ0)6(\Delta_{0})_{6} and (Δ3)7(\Delta_{3})_{7} can see each other and, for a similar reason, (Δ0)7(\Delta_{0})_{7} and (Δ3)6(\Delta_{3})_{6} can also see each other.

Accordingly, we have to pay attention to dodecahedrons which are put on the faces of a dodecahedron in the representation as defined on Figure 3: we call that representation the \mathcal{H}-representation. The rule is simple: a face FF of a dodecahedron Δ\Delta takes the colour of the neighbour that Δ\Delta can see through FF. The rule also applies to the faces of two neighbouring dodecahedrons whose face 0 is on \mathcal{H} through which they see each other. Each face take the colour of its neighbour.

By abus de langage, we also call \mathcal{H} the restriction of the dodecagrid to those which sit on that plane. When it will be needed to clarify, we denote by \mathcal{H}u, \mathcal{H}b the set of dodecahedrons which are placed upon, below \mathcal{H} respectively.

Now that the global setting is given, we shall proceed as follows: Section 3 indicates the main lines of the implementation which is precisely described in Subsection 3.2. At last, Section 4 gives us the rules followed by the automaton. That section also contain a few figures which illustrate the application of the rules. Those figures were established from pieces of figures drawn by a computer program which applied the rules of the automaton to an appropriate window in each of the configurations described in Subsection 3.2. The computer program also checked that the set of rules is coherent and that rules are pairwise independent with respect to rotation invariance. As far as that latter property is much stronger as one could think we start our study by a short section on the rotations of the dodecahedron, see Section 2.

That allowed us to prove the following property:

Theorem 1

There is a strongly universal cellular automaton in the dodecagrid which is rotation invariant, truly spatial and which has five states.

2 Rotations of the dodecahedron

We give here an extended version of the study we have produced in [5]. The section deals with the rotations of the dodecahedron. As indicated in the quoted paper, it is classically known that there are sixty rotations which leave the dodecahedron globally invariant: the image can exactly be put on the same place of the space as the initial dodecahedron. Using the Schlegel representation, it means that a rotation which leaves Δ\Delta globally invariant performs a permutation on the number of the faces. Below, Figures 4, 5 and 6 illustrate those rotations. As can be checked on the figures there are sixty such rotations. They are characterized by the axis around which the rotation is performed. The change in the faces define the angle of the rotation. In order to see how a rotation operate, we reproduce on the pictures of the dodecahedrons the numbering of the faces. Figure 4 illustrates the rotations around an axis which joins the mid-points of opposite faces, where opposite, here and further, means image of each other under the symmetry in the centre of Δ\Delta. That defines six axes and, for each of them there are four possible positive angles of rotation: each one performs a circular permutation on the numbers of the faces which are neighbouring a face crossed by the axis. The figure shows us six rows: each one indicates the faces crossed by the axis. Below that indication, we have the initial dodecahedron Δ\Delta with the numbering of its faces as

[Uncaptioned image]

Figure 4

The rotations which leave a dodecahedron globally invariant. Here, the rotations around the axes joining the mid-points of two opposite faces.

defined by Figure 1. Two red circles indicate the opposite faces under consideration. To the right-hand side of that image of Δ\Delta, four dodecahedrons illustrate the rotations around the indicated axes and, on each image, the number of the faces indicate how the transformation operates on Δ\Delta. Accordingly, Figure 4 shows us the 24 rotations around an axis crossing two opposite faces through their mid-point.

[Uncaptioned image]

Figure 5

The rotations which leave a dodecahedron globally invariant. Here, the rotations around the axes joining two opposite vertices.

Figure 5 does the same with the axes joining two opposite vertices of Δ\Delta. We can check on Figure 1 that Δ\Delta possesses twenty vertices, so that Figure 5 is structured upon the ten axes defined in that way. The upper half of the figure illustrate the rotations through the axes joining a vertex of face 0 to the opposite vertex of face 11.

Call lower crown, upper crown, the set of tiles which share an edge with face 0, face 11 respectively. Each face of the lower crown is an image of a unique one in the upper crown with respect to the symmetry in the centre of Δ\Delta. The lower part of Figure 5 concerns the axes joining a vertex of a face neighbouring face 0 to the opposite vertex of face 11. That correspondence defines five axes. The five others are defined by opposite vertices which belong to both crowns. Red circles indicate the vertices through which the axis passes. Around each axis there can be two rotations outside the identity. That provides us with twenty additional rotations. In the figure, the vertices are indicated by the numbers of the three faces to which they belong. [Uncaptioned image]

Figure 6
The rotations which leave a dodecahedron globally invariant. Here, the rotations around the axes joining the mid-points of two opposite edges. At last and not the least, Figure 6 shows us the rotations performed around an axis which joins the mid-points of opposite edges. As can be checked on Figure 1, Δ\Delta possesses thirty edges which define fifteen non-trivial rotations. The red circles on the image of Δ\Delta indicate the mid-points through which the considered axis passes. In the figure, the edges are indicated by two numbers, those of the faces to which they belong. Such a numbering will be used from now on.

Accordingly, the figures give us 24, 20 and 15 rotations which, together with the identity constitute the sixty rotations leaving Δ\Delta globally invariant.

In order to correctly draw the figures we need to make an easy correspondence between a rotation and its image, starting from the image. We do that in Table 1.

Table 1

Finding the rotation from the image identified by its faces which play the roles of face 0 and 11. When the image faces are known, the rotation is on the just below row in the same column. The first number to identify the rotation is 11, 22 and 33 for Figures 44, 55 and 66 respectively. In each figure, a rotation is identified by the rank of the axis in the figure, counting the rank line after line, from left to right on each line. At last, when there is a third number, it indicates which rotation for that axis. As an example, it can be checked that the image (9 4)(9\ 4) is obtained by the rotation of Figure 55, attached to the tenth axis as its second rotation.

0 1   0 2   0 3   0 4   0 5 id   1 1 4   1 1 3   1 1 2   1 1 1 1 0   1 2   1 7   1 6   1 5 3 1   2 1 1   1 3 1   1 6 1   2 5 1 2 0   2 3   2 8   2 7   2 1 2 1 2   3 2   2 2 1   1 4 1   1 2 1 3 0   3 4   3 9   3 8   3 2 1 3 4   2 2 2   3 3   2 3 1   1 5 1 4 0   4 5   4 10   4 9   4 3 1 6 4   1 4 4   2 3 3   3 4   1 4 1 5 0   5 1   5 6   5 10   5 4 2 5 2   1 2 1   1 5 4   2 4 2   3 5 6 1   6 7   6 11   6 10   6 5 1 2 2   2 9 2   2 7 2   1 6 2   3 10 7 1   7 2   7 8   7 11   7 6 1 2 3   3 6   1 3 2   2 10 1   2 8 1 8 2   8 3   8 9   8 11   8 7 2 9 1   1 3 3   3 7   1 4 2   2 6 1 9 3   9 4   9 10   9 11   9 8 2 7 1   2 10 2   1 4 3   3 8   1 5 2 10 4   10 5   10 6   10 11   10 9 1 6 3   2 8 2   2 6 2   1 5 3   3 9 11 6   11 7   11 8   11 9   11 10 3 11   3 14   3 12   3 15   3 13

It is not difficult to see with the help of those figures that the six rotations around a face and the opposite one generate all the rotations. Figure 7 illustrates how to proceed if we fix a face, an edge, a vertex. The colours help us to identify the elements which would remain fixed in the rotation: one colour for a face, two colours for an edge, three of them for a vertex. Two generators allow to obtain the expected rotations, perhaps using a power of one of them. From that figure, by an appropriate rotation we can see how to generate all rotations of Figures 5 and 6 by those of Figure 4. Note that in the second line of Figure 7, the second rotation is twice the angle of the first one while, in the last line, both rotations make use of an angle of 2π5\displaystyle{{2\pi}\over 5}.

In order to prepare the construction of the rules explained in Section 4, we need to define a simple criterion in order to see the neighbourhood of a tile.

[Uncaptioned image]

Figure 7

How to generate the three types of rotations thanks to six fixed rotations around a face. The letter under an arrow indicates the face around which the rotation is performed.

Figure 8 helps us to establish simple criterion. In the right-hand side part of the figure, we have the representation of eight tiles which share a common vertex. The figure shows us four of them only, those which belong to \mathcal{H}u. Those which belong to \mathcal{H}b are not visible. [Uncaptioned image]

Figure 8
Correspondence between neighbours of neighbouring tiles. Note that two lines \ell and mm, in green and orange respectively on the right-hand side part of the figure, bear sides of those tiles. We fix a numbering of the sides of the tiles which is indicated in the left-hand side part of the figure. Our four tiles have their face 0 on \mathcal{H} and in all of them, face 0 and face 1 have their common side on \ell. As we already know, faces 1 of the four tiles lie on the same plane 𝒱\mathcal{V} which is orthogonal to \mathcal{H}, cutting it along \ell. Say that those tiles belong to generation 0 and denote them by A, B, C and D as indicated on the left-hand side part of the figure. The neighbours of those tiles belong to generation 1. We denote them as Li where L is one of the just mentioned letters and ii is in {0..11}\{0..11\}, indicating a face on which is lying the neighbour. As far as the face of A6, B7 on 𝒱\mathcal{V} is orthogonal to the face 1 of A, B respectively, A6 and B7 share a face on that plane so that they can see each other according to Proposition 1. That property is illustrated on the left-hand side part of Figure 8 by the fact that the face 6 of A and the face 7 of B are in blue. Similarly, A7 and B8 can see each other. Denote that relationship by A7 \Bumpeq B6. Here are the similar relationships which can be established : A6 \Bumpeq B7 A7 \Bumpeq B6 C6 \Bumpeq D7 C7 \Bumpeq D6           A7 \Bumpeq C6 A8 \Bumpeq C10 B6 \Bumpeq D7 B10 \Bumpeq D8 (1)       We can see that in (1) several neighbours can see two neighbours. Indeed, A can see both B and C but it cannot see D as far as C and D are not on the same half-space with respect to 𝒱\mathcal{V}. From (1), we can see that A7 can see both B6 and C6. Let ss be the side which is shared by the faces 1 of A, B C and D. Those tiles are the four tiles around ss. Now, if nn is the line which bears ss, we can see that A7, B6, C6 and D7 also share a common side which lies on nn.

We defined Li where L stands for A, B, C or D as the neighbours of generation 1 for those tiles. There is room for another generation: indeed, as far as, already noticed, Li and Lj do not see each other when iji\not=j. But if Li and Lj with iji\not=j share an edge σ\sigma, they have a common neighbour Ni,j: around  σ\sigma there must be four tiles: L, Li, Lj and Ni,j. Consider, for instance, L11, L6 and L7. We can define N11,6, N11,7 and N,67{}_{6},7. Consider the planes Π6\Pi_{6}, Π7\Pi_{7} and Π11\Pi_{11} containing the faces 6, 7 and 11 of L respectively. For each one, say Πi\Pi_{i}, Li is in one half-space defined by Πi\Pi_{i} while Lj and Lk with {i,j,k}={6,7,1}\{i,j,k\}=\{6,7,1\} are in the other half-space. The intersections of those half-spaces define eight regions of the space which we call octants. Each octant contains a tile touching L as far as that situation is the same as the one we can see with planes giving rise to \ell and mm together with the intersections of the half-spaces that they define. We already know seven tiles for seven octants: L, Li with ii in {6,7,11}\{6,7,11\}, N6,7, N6,11 and N7,11. There is an eighth tile: a common neighbour to those last three tiles, N6,7,11. That last tile can see all Ni’s we have defined, but it cannot see neither the Li’s nor L itself. We say that Ni,j,k with, here, {i,j,k}={6,7,11}\{i,j,k\}=\{6,7,11\} belongs to generation 3.

Now, there is a simple criterion to distinguish those generations: the tiles of generation 1 have a common face with L; those of generation 2 share just a single edge with L while those of generation 3 share just a vertex with L. We have seen that criterion for the upper crown of L. For the lower crown, things are a bit different: generation 1 is still defined by the tiles sharing a face with L and generation 2 by the tiles which share with L one edge only. Taking into account the tiles which hang below \mathcal{H}, we can see that we have all the possible neighbours of L. Indeed, consider the vertex vv belonging to two faces of the lower crown and to a third one of the upper crown. Let ee be the edge joining vv to a vertex of the face 0 of L. Then the three other tiles sharing with L the edge ee only share also vv. But, as can be shown on the figure, on each tile, a neighbour of a face of the upper crown also shares vv. So that there is no tile of generation 3 at such a vertex. At last, consider a vertex ww belonging to one face aa of the lower crown and to two faces of the upper crown. Then L with its neighbours Li of generation 1 also sharing ww defines three tiles sharing ww. The neighbour N of generation 2 defined by those Li’s is the fourth tile around the edge ff shared by the two faces of the upper crown defining ww. A similar argument can be formulated for the tile K sharing the face aa with L so that we get the eight tiles around ww. So for such a vertex too, there is no tile of generation 3. Accordingly we proved:

Proposition 2

The neighbours of a tile L whose face 0 is on \mathcal{H} belong to generation 11. The neighbours of the neighbours which share an edge only with L belong to generation 22. There are neighbours of those of generation 22 which shares a vertex only with L: they are the neighbours of generation 33. The tiles of generation 33 around L touch vertices of L which belong to the upper crown but which do not belong to the lower crown.

At last but not the least, we have to see the connection of neighbours of a tile with the distance from a tile to another one. Say that a sequence of tiles {Ti}i{0..n}\{T_{i}\}_{i\in\{0..n\}} is a path if TiT_{i} and Ti+1T_{i+1} share a face for 0i<n0\leq i<n. In that situation, we say that nn is the length of the path. We also say that the path joins T0T_{0} to TnT_{n} and conversely. The distance between two tiles UU and VV is the length of the shortest path joining UU to VV. A ball around TT of radius kk in the space is the set of tiles whose distance to TT is at most kk. Those which are at distance kk exactly constitute the sphere around TT of radius kk. Note that two consecutive tiles on a path are neighbour of generation 1 for one another according to the definition of a path.

Lemma 2

Let TT be a tile at distance kk from a tile AA. Let UU be the tile on a shortest path from AA to TT which is at the distance kk-1 from AA. Define a numbering of TT under which the face 0 of TT is the face it shares with UU. Then all neighbours TiT_{i} of TT with i>0i>0 are at the distance kk+1 from AA. Let Πi\Pi_{i} be the plane supporting a face ii of TT belonging to its upper crown. Then a shortest path from AA to TT is completely contained in the half-space defined by Πi\Pi_{i} which contains TT.

Proof of the lemma. We proceed by a complete induction on the length of the path. As the dodecahedron is a convex set, the lemma is true for k=0k=0. Assume that it is true for kk. Let TT be a tile at the distance kk+1 from AA and let UU be a tile on a shortest path from AA to TT which is at distance kk. Define the face F0F_{0} shared by TT and UU as the face 0 of TT. Let Π0\Pi_{0} the plane supporting F0F_{0}. That half-space defined by Π0\Pi_{0} which contains UU also contains the path from AA to UU by the induction hypothesis. Let FjF_{j} be a face of the upper crown of TT and let Πj\Pi_{j} be the plane supporting it. If FjF_{j} is opposed to F0F_{0}, the line joining the centre of F0F_{0} to that of FjF_{j} is a common perpendicular to Π0\Pi_{0} and to Πj\Pi_{j}. Accordingly, those planes are not secant, so that the half-space of Πj\Pi_{j} containing TT also contains the half-space of Π0\Pi_{0} containing UU. Consequently, that half-space also completely contains the path from T0T_{0} to UU. If FjF_{j} is not opposed to F0F_{0} there is a unique edge ss joining F0F_{0} to FjF_{j}. As ss is the intersection of two faces of the lower crown which are, by construction, mutually perpendicular and both perpendicular to F0F_{0}, ss is the common perpendicular line to both F0F_{0} and FjF_{j} so that those planes are non-secant. Accordingly me may repeat the previous argument which allows us to conclude that the half-space defined by Πj\Pi_{j} which contains TT also contains the whole path from AA to TT.

Let VV be a neighbour TiT_{i} or TT with i>0i>0. Assume that VV is at distance hh from AA with h<kh<k. Consider a shortest path from AA to TiT_{i}. As that path and the shortest path we considered from AA to TT start both of them from AA, there is a tile BB on both paths such that the part of those paths from AA to BB is the longest common part of the paths from AA to TT and from AA to VV. Let XiX_{i}, YiY_{i} constitute the path from BB to TT, to VV respectively with X0X_{0} and Y0Y_{0} being neighbours of BB. We know that X0X_{0} and Y0Y_{0} cannot see each other. Consider X1X_{1} and Y1Y_{1}. We claim that if X1Y1X_{1}\not=Y_{1} those tiles cannot see each other which is easy to check on Figure 8. Accordingly, unless there are few tiles XaX_{a}, Xa+1X_{a+1}, Xa+2X_{a+2}and YaY_{a}, Ya+1Y_{a+1}, Ya+1Y_{a+1} such that Xa=YaX_{a}=Y_{a}, Xa+1Ya+1X_{a+1}\not=Y_{a+1} and Xa+2=Ya+2X_{a+2}=Y_{a+2} and as far as TVT\not=V, the conclusion is that TT and VV cannot see each other which is a contradiction with our assumption. That proves the lemma. \Box

Note that from the proof of the lemma, we can see that the shortest path from a tile to another one may not be unique.

The lemma allows us to better see the relation between spheres 𝒮\mathcal{S}k of radius kk around the same tile. We can see that 𝒮\mathcal{S}k+2 contains neighbours of generation 2 of tiles belonging to 𝒮\mathcal{S}k and that 𝒮\mathcal{S}k+3 contains neighbours of generation 3 of tiles belonging to 𝒮\mathcal{S}k. Accordingly, only spheres 𝒮\mathcal{S}k+h with h>3h>3 have no contact with 𝒮\mathcal{S}k.

3 Main lines of the computation

The first paper about a universal cellular automaton in the pentagrid, the tessellation {5,4}\{5,4\} of the hyperbolic plane, was [1]. That cellular automaton was also rotation invariant and, at each step of the computation, the set of non quiescent states had infinitely many cycles: we shall say that it is a truly planar cellular automaton. That automaton had 22 states. That result was improved by a cellular automaton with 9 states in [12]. Recently, it was improved with 5 states, see [7]. A bit later, I proved that in the heptagrid, the tessellation {7,3}\{7,3\} of the hyperbolic plane, there is a weakly universal cellular automaton with three states which is rotation invariant and which is truly planar, [8]. Later, I improved the result down to two states but the rules are no more rotation invariant, see [9]. Paper [4] constructs three cellular automata which are strongly universal and rotation invariant: one in the pentagrid, one in the heptagrid, one in the tessellation {5,3,4}\{5,3,4\} of the hyperbolic 3D3D-space. By strongly universal we mean that the initial configuration is finite, i.e. it lies within a large enough circle. Recently, I succeeded to implement a strongly universal cellular automata in the heptagrid, the tessellation {7,3}\{7,3\} of the hyperbolic plane, which improves that latter result: the automaton is rotation invariant and it has seven states, see [10, 11].

In the present paper, we mainly follow the construction of those papers. However, it is not true to see this paper as a simple transposition of those previous ones in the dodecagrid. Here, we take advantage of the third dimension to simplify a few points of the simulation. However, the third dimension also entails its constraints which make it difficult to strongly reduce the number of states: the rotation invariance of the rules is a heavy constraint. There are sixty rotations which leave a dodecahedron globally invariant. As indicated later, we cannot replace that constraint by the invariance under a set of generators.

We simulate a register machine, not necessarily using the property that two registers are enough to get the strong universality, a result proved by Coke-Minsky in the sixties, see [13].

The simulation is based on the railway model devised in [14] revisited by the implementations given in the author’s papers, see for instance [9]. Sub-section 3.1 describes the main structures of the model. We mainly borrow its content from previous papers for the sake of the reader. In Sub-section 3.2 we indicate the new features used in the present simulation.

3.1 The railway model

The railway model of [14] lives in the Euclidean plane. It consists of tracks and switches and the configuration of all switches at time tt defines the configuration of the computation at that time. There are three kinds of switches, illustrated by Figure 9. The changes of the switch configurations are performed by a locomotive which runs over the circuit defined by the tracks and their connections organised by the switches.

A switch gathers three tracks aa, bb and cc at a point. In an active crossing, the locomotive goes from aa to either bb or cc. In a passive crossing, it goes either from bb or cc to aa.

[Uncaptioned image]

Figure 9

The switches used in the railway circuit of the model. To left, the fixed switch, in the middle, the flip-flop switch, to right the memory switch. In the flip-flop switch, the bullet indicates which track has to be taken.

In the fixed switch, the locomotive goes from aa to always the same track: either bb or cc. The passive crossing of the fixed switch is possible. The flip-flop switch is always crossed actively only. If the locomotive is sent from aa to bb, cc by the switch, it will be sent to cc, bb respectively at the next passage. The memory switch can be crossed actively or passively. Now, the track taken by the locomotive in an active passage is the track taken by the locomotive in the last passive crossing. Of course, at the initial time of the computation, for the flip-flop switch and for the memory one, the track which will be followed by the locomotive is defined by the implementation.

As an example, we give here the circuit which stores a one-bit unit of information, see Figure 10. The locomotive may enter the circuit either through the gate RR or through the gate WW.

[Uncaptioned image]

Figure 10

The basic element containing one bit of information.

If it enters through the gate RR where a memory switch sits, it goes either through the track marked with 1 or through the track marked with 0. When it crossed the switch through track 1, 0, it leaves the unit through the gate B1B_{1}, B0B_{0} respectively. Note that on both ways, there are fixed switch sending the locomotive to the appropriate gate BiB_{i}. If the locomotive enters the unit through the gate WW, it is sent to the gate RR, either through track 0 or track 1 from WW. Accordingly, the locomotive arrives to RR where it crosses the switch passively, leaving the unit through the gate EE thanks to a fixed switch leading to that latter gate. When the locomotive took track 0, 1 from WW, the switch after that indicates track 1, 0 respectively and the locomotive arrives at RR through track 1, 0 of RR. The track are numbered according to the value stored in the unit. By definition, the unit is 0, 1 when both tracks from WW and from RR are 0, 1 respectively. So that, as seen from that study, the entry through RR performs a reading of the unit while the entry through WW, changes the unit from 0 to 1 or from 1 to 0: the entry through WW should be used when it is needed to change the content of the unit and only in that case. The structure works like a memory which can be read or rewritten. It is the reason to call it the one-bit memory.

We shall see how to combine one-bit memories in the next sub-section as far as we introduce several changes to the original setting for the reasons we indicate there.

3.2 Tuning the railway model

We start our presentation with a look on the global aspect of the simulation illustrated by Figure 11. On a part of \mathcal{H}, we have the program: a green quadrangle. On another part, we have two boxes and, attached to each one of them a long segment of line which represents a register. As two registers are enough to simulate a Turing machine, see [13], our illustration contains two registers only. At last, and not at all the least, segments of line go in between the program and the registers. We can imagine that some of them go in that direction and that the others go from the registers to the program. Those segments represent tracks we study in the next subsection. They play a key role as far as they convey an information to the register and go back to the program in order to give a feed back which will determine the next information to bring to the registers.

[Uncaptioned image]

Figure 11

A global view on the simulation.

We first look at the implementation of the tracks in Sub-subsection 3.2.1 and how it is possible to define the crossing of two tracks. In Sub-subsection 3.2.2 we see how the switches are implemented. Then, in Sub-subsection 3.2.3, we see how the one-bit memory is implemented in the new context and then, in Sub-section 3.2.4, how we use it in various places. At last but not the least, we shall indicate how registers are implemented in Sub-subsection 3.2.5.

3.2.1 The tracks

We mentioned the key role played by the tracks in the computation. Without them, the locomotive could not perform any operation on the registers. Without them any computation is impossible. Moreover, as can be seen in many papers of the author, that one included, it is not an obvious issue which must always be addressed.

It is not useful to list the similarities and the distinctions between the present implementation and those of my previous papers. The best is to explain the implementation used by this paper. If the reader is interested by the comparison with previous implementations the references already indicated give him/her access to the corresponding papers. We just mentioned that the presentation of the present paper significantly simplifies what is written in [10].

The tracks are one-way. It is useful to reduce the number of states but it raises a problem as far as a two-way circulation is required in some portions of the circuit. It is a point where the third dimension comes to help us. In many portions, the circuit can be implemented on a fixed plane we call \mathcal{H}, already mentioned in the introduction. Roughly speaking, the traffic in one direction will occur over \mathcal{H} while the reverse running will be performed below \mathcal{H}. Occasionally and locally, we shall use a plane 𝒱\mathcal{V} which is orthogonal to \mathcal{H}. Note that if \mathcal{H} is fixed in all the paper, 𝒱\mathcal{V} may change according to the context where it is mentioned.

The present organisation of the one-way tracks is very different from that of [9]. Contrarily to that paper, we go back to mark the elements of a path by milestones. The milestones are blue, in contrast with the blank colour of most of the cells: all of them outside a large enough disk containing the initial configuration. The blank is the quiescent state of our cellular automaton: if a cell is blank and if all its neighbours are blank too, the cell remains blank. We say tracks for portions of a path which follow a line \ell defined by a side of the tiles in \mathcal{H}. Combining several tracks gives rise to paths. On the path, a blue locomotive is running which consists of a single blue cell which moves in between blue milestones. Figure 12 illustrates the constitution of the tracks. On the figure, the lines are followed by the side 1 of the elements of tracks.

[Uncaptioned image] [Uncaptioned image]

Figure 12

Leftmost picture: an element of a track. Middle picture: tracks over \mathcal{H}. Rightmost picture, return tracks of the previous ones below \mathcal{H}. Note the lines on both picture, in the middle and to right.

The leftmost picture of the figure shows us that an element of a track consists of a white dodecahedron Δ\Delta whose face 0 lie on \mathcal{H} and on the faces 6, 9 and 10 of Δ\Delta we have three dodecahedrons Δ6\Delta_{6}, Δ9\Delta_{9} and Δ10\Delta_{10} which are blue. Those dodecahedrons close to the face opposite to face 11, opposite to face 0, are called the decoration of Δ\Delta. In general, the locomotive enters an element of the track through its face 5 or 4 and it leaves the element through its face 2. In order to allow variations which we further describe, for instance in Figure 13, the locomotive may also enter through face 1, the exit face being always face 2.

The middle picture of Figure 12 shows us two tracks which lie on \mathcal{H}. As clearly seen, the left-hand side track follows a line of \mathcal{H}, in mauve in the pictures, which contains an edge of the face 1 of all the elements constituting that track. A similar remark can be formulated for the right-hand side track. According to the convention we indicated on the way a locomotive may cross an element of a track, the left-hand side track is going down while the right-hand side one is going up. The rightmost picture of the figure shows us tracks which are below \mathcal{H}, their face 0 also belonging to \mathcal{H}. Imagine that the tracks of the middle picture are removed and that we see those tracks below \mathcal{H} from above \mathcal{H} as if that plane were translucent. We can see that the image we need is an image of Δ\Delta under a symmetry in the plane orthogonal to \mathcal{H} which contains the opposite edges 1.5 and 8.9 of Δ\Delta. The numbering of the faces is thus increasing while counter-clockwise turning around face 0 while the numbering is clockwise on Figure 1. Note that below \mathcal{H}, the direction of the tracks is opposite to that of the tracks upon \mathcal{H} which follow the same lines. It is an important feature which allows us to define a two-way path: one direction is performed upon \mathcal{H} while the opposite one occurs below \mathcal{H}.

[Uncaptioned image]

[Uncaptioned image]

Figure 13

Basic patterns for the paths. Above, a scheme of a path constituting a quadrangle. Below: to left, left-hand side top corner, to right, right-hand side bottom corner.

Moreover, in most parts of the circuit we shall describe a single locomotive is running on the circuit. In particular, in the case when a two-way track occurs in some part of the circuit, there can never be a locomotive in a track τ\tau over \mathcal{H} and another one, at the same time, in the track below τ\tau.

Figure 13 illustrates how pieces of tracks indicated in Figure 12 can be organised into paths. As long as it will be possible, paths for the locomotive will follow a straight line of the tiling which is the trace of the dodecagrid on \mathcal{H}. However, as the locomotive goes from the program to the register and back, such a circuit is organised along a kind of quadrangle QQ in the hyperbolic plane as illustrated by the top picture of Figure 13.

On that picture, we can see two paths for drawing the bottom side of QQ. The red one is a segment of a straight line in the hyperbolic plane. The blue one is an arc of a hyperbolic circle. On the model, the arc is longer than the segment. In fact, the arc is much longer: its length is proportional to an exponential function of the radius of the circle supporting the arc. The bottom pictures of the figure show us a zoom on two corners of the quadrangle: the left-hand side picture illustrates the right-hand side bottom corner. By rotating those pictures we can see how to connect the sides of QQ. Note that the right-hand side picture connects a segment of a straight line with an arc of a circle. The elements with an entry through side 1 play an important role in the realisation of an arc of circle and on the connection between segments of different directions.

We can see that those constructions are flexible enough, so that we have a relative freedom in the construction of the circuit.

3.2.2 The switches

The section follows the implementation described in [10, 11]. We reproduce it here for the reader’s convenience. The illustration show us what we call an idle configuration. The view given by such pictures is a window focusing on what we call the centre of the switch and we can see the tiles on \mathcal{H} within a circle of radius 3 from the central tile, what we call the window. An idle configuration is a configuration where there is no locomotive within the just defined window. The left-hand side of Figure 14 shows us such an idle configuration for the passive fixed switch. From what we said in Section 3.2, we know that there is no active fixed switch, so that illustration of such a switch concerns the passive one only.

We can see that the central tile is an ordinary element of the track. As a locomotive may enter through its face 5 or through its face 4, the constitution of the switch is easy: one branch of the switch arrives at face 5 in the central tile while the other branch arrives through face 4. We have a single locomotive in the window focused on the centre of the fixed switch.

Two important structures are required for implementing the remaining swit-ches : the fork and the controller. We start with the fork and we examine the case of the controller after the implementation of the flip-flop switch.

The right-hand side picture of Figure 14 illustrates the implementation of the fork in its idle configuration. That structure receives one locomotive and it yields two ones which leave the structure in opposite directions. As can be seen on the figure, the central cell differs from an element of the track: its decoration consists of five dodecahedrons which are placed on faces 6, 7, 8, 9 and 11. Moreover, the locomotive enters the tile through its face 2 and the two new locomotives exit through faces 4 and 5.

The flip-flop switch and both parts of the memory switch require a much more involved situation. The global view of an idle configuration is illustrated by Figure 15.

[Uncaptioned image] [Uncaptioned image]

Figure 14

Idle configurations, to left of a passive fixed switch, to right of a fork.

[Uncaptioned image] [Uncaptioned image]

Figure 15

Scheme of the implementation of a flip-flop switch with, to right, a zoom on S. In the zoom, note the crossing x of a leaving track by the deviated route to S.

The locomotive arrives through a segment of a straight line by CC where a fork sits. Accordingly, two locomotives leave CC, one of them towards LL, the other towards RR. At LL a controller sits and, on the figure, it let the locomotive go further on the segment of straight line. Note that the path from CC to LL is also a segment of a straight line on the figure, which is conformal to the implementation. Now, the structures which are later involved make the length of that segment to be huge. At RR too a controller is sitting but, on the figure, it kills the locomotive which is thus prevented to go outside the switch. On the way from CC to RR the locomotive meets another fork at AA. The fork sends one of the new locomotives to RR where it is stopped in the situation illustrated by the figure and the other is sent to SS. There a fork is sitting too which sends two locomotives, one of them to LL, the other to RR. When they reach their goal, through another face of the controller, the locomotives change the configuration of the controller which is sitting there. The controller which let the locomotive go will further stop it while the one which stopped it will further let it go. Accordingly, after the passage of a locomotive and after a certain time, the configuration of the flip-flop switch is that we described in Sub-section 3.1. We may arrange the circuit so that a new passage of the locomotive at that switch will happen a long time after the change of function of its controllers is completely changed.

We have now to clarify the implementation of the controller. It is illustrated by Figure 16.

[Uncaptioned image]

Figure 16

The idle configuration of the controller. To left, upon \mathcal{H}, the track; to right, below \mathcal{H}, the controller and its access by a locomotive.

Here again, the central cell below \mathcal{H} is not an element of the track. Its decoration consists of four blue dodecahedrons which are placed on the faces 6, 9, 10 and 11 of the tile.

Figure 15 requires the explanation of the zoom: three tracks abut the point S which is supposed to behave like a fork. However, the configuration of the tracks abutting the central tile of a fork is different. It is the reason for which the track arriving to S from A is deviated near S as indicated in the zoom so that the new configuration is conformal to that of a fork. Note that the pieces constituting the deviation of the track are segments of straight line in Poincaré’s disc model. The price to pay is a crossing at x on the picture illustrating the zoom.

The crossing happens to be a burden in the hyperbolic plane requiring several complex structures we do not need in the hyperbolic 3D3D-space. The third dimension offers two possible ways to easily realize a crossing: the bridge or the tunnel. In the present paper, I have chosen the tunnel, illustrated by Figure 17. Two tracks follow a line: a red one going from right to left on the three pictures and a blue line, from bottom to top on the left-hand side picture only.

[Uncaptioned image]

Figure 17

The idle configuration of the tunnel.

The leftmost picture of the figure is the standard projection upon \mathcal{H}, where each dodecahedron is projected within the face it shares with \mathcal{H}. In the picture, the faces of the elements of the track which lie on \mathcal{H} are faces 0. Using the numbering of the tiles of \mathcal{H}, the elements of the track following the blue line, going from bottom to top on the picture are, in this order : sector 3, tiles 21, 8, 3 and 1; the central tile, then, in sector 1, tiles 1, 4, 12 and 33. Six other tiles can be seen : in sector 2, tiles 3, 8 and 20 and, in sector 5, 33, 12 and 4 as the track goes from right to left, following the red line \ell. Three tiles are missing for that track: tile 1 of sector 5, the central tile and tile 1 of sector 2. Those tiles are not upon \mathcal{H} but below that plane. They are illustrated by the middle picture where \ell is again represented. It is the part of the crossing track which passes under the track illustrated by the leftmost picture. In the middle picture we can see those elements of track as if \mathcal{H} were translucent. Two additional tiles are indicated in the middle picture: tile 4 of sector 5 and tile 3 of sector 2. Those tiles correspond to the tiles with the same numbers in the same sectors which lie upon \mathcal{H}. Each of those tiles upon and below \mathcal{H} allows a locomotive going upon \mathcal{H} to go below that plane in order to cross the other track. Those elements require the locomotive to enter through a face 1 and to exit through a face 2.

The rightmost picture of Figure 17 shows us the projection of the tunnel on the plane 𝒱\mathcal{V} which is orthogonal to \mathcal{H}, cutting that latter plane along the line \ell. We represent on 𝒱\mathcal{V} the tiles which have a face on it only. Those which are on the same side of 𝒱\mathcal{V} as the central tile in the middle picture are seen in direct projections. Those which are on the other side are seen as if 𝒱\mathcal{V} were translucent.

Figure 18 illustrates the possible projections of an element of the track depending on whether it is seen upon \mathcal{H}, upon 𝒱\mathcal{V} or through those planes by transparency, also depending on which face is on \mathcal{H} and which one on 𝒱\mathcal{V}.

Consider the central tile of the leftmost picture of Figure 17. It is projected on its face 0 on \mathcal{H} and the locomotive goes upward, entering through face 5 and leaving through face 2. Consider the entrance into the tunnel. We can see that the entry of the locomotive through face 1 and its leaving through face 2 cannot be used on both ends of the tunnel: the reason is that, at the entry, the neighbour 6 of the tile below \mathcal{H} would be below face 0 of the tile of the track arriving to the entry over \mathcal{H}: that would stop the locomotive. That problem does not occur for the exit, so that we can use that way of working for the exit. For the entry, we need to change the tile in order to induce rules which would be rotationally compatible with the others and this time the entry into the tile below \mathcal{H} is through face 7 and the exit still through face 2. That tile differs from a tile of the track by the occurrence of red neighbour on its face 3.

[Uncaptioned image]

Figure 18

Projection of various positions of the element track upon \mathcal{H}, 𝒱\mathcal{V} and also of elements below \mathcal{H}.

Figure 18 gives various views on the tiles we just mentioned. The first row of the picture indicates the projections over \mathcal{H} of tiles of the track depending on the face which lies on  \mathcal{H}: face 0, face 1, face 2 and face 7 for the pictures 1, 2, 3 and 4 respectively on the first row of the figure. Picture 5 is the projection of the tile of the entry below \mathcal{H}, projected above \mathcal{H} on its face 7. The second row of the figure, pictures 6 up to 10 gives the same tiles viewed through a translucent \mathcal{H}. Picture 11, third row of the figure, illustrates an element of the tunnel below \mathcal{H} seen through a translucent \mathcal{H}. The fourth row illustrates the tiles for the entry into the tunnel: picture 12 for the tile above \mathcal{H} and pictures 13 and 14 for the entry below \mathcal{H} when it is projected on 𝒱\mathcal{V}, picture 13, on its face 8, and when it is viewed through a translucent \mathcal{H}, picture 14, through its face 7. The last row of the figure illustrates the tiles for the exit from the tunnel. Pictures 15 and 16 illustrate the exit tile below \mathcal{H}: viewed through a translucent face 2 being on \mathcal{H}, while picture 16 shows us the projection on its face 0 over 𝒱\mathcal{V}.

To conclude with the tunnel, the occurrence of a locomotive in the central tile of the tunnel will not stop a locomotive on the upper way: first, the locomotive never stops on an element of the track and, more over, in such a crossing there is a single locomotive in a window around the central point of the crossing: if it is present on one path, it cannot be present on the other one. We are now in position to deal with the memory switch, active and passive parts.

First, we deal with the active part. It looks like the flip-flop switch with this difference that there is no fork AA in between the path from the initial fork CC to RR, one of the controllers. Figure 19 illustrates both parts of the memory switch: to left of the figure, the active part of the switch, to right, its passive part.

[Uncaptioned image] [Uncaptioned image]

Figure 19

To left, the active memory switch, to right, the passive one.

In the active part of the switch, left-hand side picture of Figure 19, the locomotive arrives to a fork sitting at CC. From there two locomotives are sent, one to LL, the other to RR and the working of the switch at this point is alike that of a flip-flop switch. The difference lies in the fact that the passage of the locomotive does not trigger the exchange of the roles between the controllers. That change is triggered by the passage of a locomotive through the non-selected track of the passive part of the switch. When it is the case, a locomotive is sent from the passive part to the active one. That locomotive arrives at the fork which is sitting at SS. The fork creates two locomotives which are sent to LL and RR in order to change the permissive controller to a blocking one and to change the blocking one into a permissive one.

Let us look at the working of the passive part. The locomotive arrives to the switch through PP or through QQ. Assume as it is through PP. A fork sitting at PP sends a locomotive to the fixed switch FF which let the locomotive leave the switch. The other locomotive sent by PP goes to LL. If that side is that of the selected track, the controller sitting at LL blocks the locomotive so that no change is performed, neither in the passive switch, nor in the active one. Accordingly, the selected track of the active switch is controlled by a permissive controller while the corresponding selected track of the passive switch is controlled by a blocking controller. Presently, assume that the side of LL is not that of the selected track. It means that LL let the locomotive go to TT where a fixed switch sends the locomotive to a fork at UU. That fork sends a locomotive to the fork SS of the active switch and the other locomotive is sent to SS of the passive switch. At that point SS, a fork sends a locomotive to LL and another one to RR in order to change the working of both controllers to the opposite task. As a parallel change occurs in the active switch the selected track is redefined in both parts of the switch.

That working raises several remarks. First, the role of the controllers in the active and in the memory switches are opposite. Nevertheless, in both cases, the same programmable controller is used exactly because it is programmable in the way we just described. The second remark is that all the tracks indicated in the pictures are pieces of straight lines of the hyperbolic plane. A last remark is that we used one crossing, two fixed switches, at FF and at TT and four forks, at PP, QQ, UU and SS. Each structure requires some space, at least a disc whose radius is the length of four tiles aligned along a straight line. Consequently, the passive memory switch requires a huge amount of tiles. Again, we may assume that a new passage of the locomotive to the switch happens after the changes has been performed when it is the case they should occur.

3.2.3 The one-bit memory

It is now time to implement the one-bit memory. Figure 20 illustrates the construction for the implementation of Figure 10 in the dodecagrid.

We can see the active memory switch at RR and the passive one at EE. The dark letters which stand by the blue circle indicate gates of the one-bit memory: W, R, E, b0 and b1. We can easily see that if the locomotive enters the unit through the gate R, then it leaves the memory through the gate b0 or through the gate b1 depending on the information stored in the memory: that information is provided the unit by the positions of the switch at W and those at R and E. Note that the positions at R and at E are connected by the path from E to R, see the figure.

When the locomotive enters the memory through the gate W where a flip-flop switch is sitting, it goes to R through one of both tracks leaving the switch. If it goes through the track marked by 0, 1, it arrives to E by the track marked with the opposite symbol, 1, 0 respectively. Indeed, when the locomotive crosses W, the passing makes the selected track to be changed so, if it went through one track, after the passage, in particular when the locomotive arrives at E, the new selected track at W is the track through which the locomotive did not pass. So that the track marked by one symbol at W should be marked by the opposite one at E. The selection observed at E is transferred to R thanks to the path connecting E to R.

[Uncaptioned image]

Figure 20

The idle configuration of the one-bit memory. Note the four crossings in the implementation. Note that the connection from E to R is realized by three segments of straight lines.

As the one-bit memory will be used later, we introduce a simplified notation: in Figure 20, the memory structure is enclosed in a blue circle. At its circumference the gates are repeated by the same symbols. In the next figures, when a one-bit memory will be used, we shall indicate it by a disc with, at its border, the five gates mentioned in Figure 20.

3.2.4 From instructions to registers and back

As will be explained in Sub-subsection 3.2.5, the locomotive arrives at a register at the same element, but not through the same face: face 5 is devoted to the locomotive coming from an incrementing instruction, face 4 is devoted to the case when the locomotive comes from a decrementing instruction. As will be seen later, the blue locomotive coming to decrement the register is changed into a red one just before arriving at the register. That difference will be justified when we study the operations on a register, in Section 3.2.5. After it performed its operation, the locomotive goes back through a particular track corresponding to the operation it performed. But, as far as all incrementations on a given register make the locomotive arrive at the same point of the register, the return to the appropriate instruction of the program requires that the instruction yielding the operation should be memorised in some way.

To that goal we define two structures 𝔻I{\mathbb{D}}_{I} and 𝔻D{\mathbb{D}}_{D} for incrementing and decrementing instructions respectively. Each structure consists of as many units as there are instructions of the corresponding type operating on the same register. Accordingly, each register is dotted with specific 𝔻I{\mathbb{D}}_{I} and 𝔻D{\mathbb{D}}_{D}. We can imagine that the small orange and blue boxes of Figure 11 contain, each one, a copy of 𝔻I{\mathbb{D}}_{I} and a copy of 𝔻D{\mathbb{D}}_{D}.

First, we consider the case of 𝔻I{\mathbb{D}}_{I}. Each unit is based on a one-bit memory which is illustrated by Figure 21. The working of 𝔻I{\mathbb{D}}_{I} is the following. An instruction for incrementing RR is connected through a path to a specific unit of 𝔻I{\mathbb{D}}_{I}. The path goes from the program to the gate W of that unit. At the initial time, the configuration of 𝔻I{\mathbb{D}}_{I} is such that all its unit contain the bit 0: the switches of the one-bit memory are in a position which, by definition defines bit 0. Accordingly, when the locomotive enters the unit, it will change the flip-flop and the memory switches so that, by definition, the memory contains the bit 1. The locomotive leaves the memory through the gate E and it meets a flip-flop switch at AA which, in its initial position, sends the locomotive to RR.

When the locomotive completed the incrementation of RR it goes back to the program. In order to find the appropriate way, it visits the units of the 𝔻I{\mathbb{D}}_{I} attached to RR until it finds the unit whose one-bit memory is set to 1. Indeed, at 𝔻I{\mathbb{D}}_{I}, the locomotive enters the memory of the first unit through its  R-gate. If it reads 0, it leaves the memory through b0 and the path sends it to the next unit. So that we are led to the situation when entering through R, the locomotive reads 1. Accordingly it leaves the unit through b1 which leads it to W. Consequently, the locomotive rewrites the bit, turning it to 0 and again exits through the gate E. It again meets the flip-flop switch at AA which sends the locomotive on its other path leading the locomotive back to the program. That new visit of the flip-flop switch at AA make the switch again select the track leading to RR. Accordingly, when the locomotive leaves 𝔻I{\mathbb{D}}_{I} the structure recovered its initial configuration. Accordingly, that scheme allows us to correctly simulate the working of the units of 𝔻I{\mathbb{D}}_{I}.

Secondly, we examine the structure of 𝔻D{\mathbb{D}}_{D} which plays for the decrementing instruction the role which 𝔻I{\mathbb{D}}_{I} plays for the incrementing ones. The structure is more complex for the following reason. An incrementing instruction is always performed which is not necessarily the case for a decrementing instruction. Indeed, if the register contains the value 0, it cannot be decremented. We say that the register is empty. In that case, the next instruction to be performed is not the next one in the program. It is the reason why the case of an empty register requires to be differently dealt with. Concretely, it means that the return track of the locomotive depends on whether the register was empty or not at the arrival of the locomotive.

Accordingly we need two one-bit memories instead of one. More over, as far as the bit 1 locates the unit of 𝔻D{\mathbb{D}}_{D} which will send the locomotive to the right place in the program, the content of the memories should be the same: 0, if the locomotive did not visited that unit at its arrival to 𝔻D{\mathbb{D}}_{D}, 1 if it visited the required unit. There are two return tracks after decrementation: the DD-track when the decrementation could be performed, the ZZ-track when the decrementing locomotive found an empty register. We call DD-, ZZ-memory the one-bit memory visited by DD-, ZZ-track respectively.

[Uncaptioned image]

Figure 21

The idle configuration of a unit of the structure which memorises the right incrementing instruction. Note the three crossings in the implementation. Also note that the intensive use of sequences of connected segments of straight lines.

The complication entailed by that organisation make a representation of a unit in a single window hardly readable. It is the reason why it was split into three windows as illustrated by Figure 22.

The DD-memory is represented by the left-hand side picture of the figure. A locomotive sent by the program for decrementing a register RR arrives at the appropriate unit of the 𝔻D{\mathbb{D}}_{D} attached to RR by the track marked by DD in the picture. As far as the locomotive enters the memory through its gate W, it rewrites its content from 0 to 1. Now, it has to mark the ZZ-memory which is represented on the right-hand side picture of the figure. To that goal, the track leaving the DD-memory through its gate E, goes to the point cc, that italic letter marking a small yellow disc close to the border of the window. The track is continued from a small yellow disc close to the border of the right-hand side window marked with the same letter cc. Other such discs in the figure are marked by other letters which are pairwise the same in two different windows. From that second cc, the track leads the locomotive to the gate W of the ZZ-memory whose content, accordingly, will be changed from 0 to 1. Leaving the ZZ-memory through its gate E, the locomotive is lead to a small disc dd so that the corresponding track is continued by the small disc dd we find in the middle window of Figure 22. From there, the locomotive is lead to a flip-flop switch sitting at FF which, in its initial configuration, selects the track leading to RR. Now, after the switch is passed by the locomotive, its selection is changed, indicating the track leading to another switch sitting at AA.

Consider the case when the locomotive returns from RR after a successful decrementation. It one by one visits the units of 𝔻D{\mathbb{D}}_{D}. It arrives to the gate R of the DD-memory of a unit. If it reads 0, the track issued from b0 of the DD-memory leads the locomotive to the R-gate of the DD-memory of the next unit. So that such a motion is repeated until the locomotive reads 1 in the DD-memory. When it is the case, the locomotive leaves the memory through its gate b1 which leads the locomotive to a small disc aa, so that the track is continued from the small disc aa we can see in the middle picture of Figure 22. From there, the locomotive arrives to PP, the passive part of the memory switch whose active part lies at AA. The locomotive is sent from PP to a small disc ee whose track arriving there is continued by the track issued from the small disc ee of the left-hand side picture of the figure. That track leads the locomotive back to the W-gate of the DD-memory. Consequently, the content 1 of the memory is returned to 0 and leaving the memory through its gate E, the locomotive again arrives to the W-gate of the ZZ-memory through the small discs cc. Again the E-gate of the ZZ-memory sends the locomotive to the small disc dd which, through the other such disc in the middle window, again arrives at AA. As far as it took much more time for the locomotive to rewrite both memories of the unit than for another locomotive to go from PP to AA in order to set the selection of the active switch, the switch at AA indicates the track corresponding to the branch PPaa of the passive switch. That track leads to the right decrementing instruction in the program and after that passage of the locomotive, the switch at FF, indicates the path to RR: the structure recovered its initial configuration.

[Uncaptioned image]

Figure 22

The three windows illustrating the idle configuration of a unit of the structure which memorises the right decrementing instruction. Note the small discs accompanied with small italic letters allowing the locomotive to pass from one window to the appropriate one. Also note the sketchy representation of the one-bit memories.

Presently, consider the case when the locomotive returns from an empty RR. It returned through the ZZ-track and it arrives to the 𝔻D{\mathbb{D}}_{D} attached to RR. There it visits the units of the structure reading the content of its ZZ-memory through the track leading to the R-gate of that memory in the unit. So that the locomotive visits the units until the single one whose ZZ-memory contains 1. When it is the case, the locomotive leaves the ZZ-memory through its gate b1 which sends it to the W-gate of the DD-memory through the small disc bb. But the continuation happens by bb of the middle picture which leads the locomotive to PP. The passive switch sends the locomotive to ee and from there to the W-gate of the DD-memory. Accordingly, what we seen in a visit through a unit thanks to the DD-track occurs once again. Accordingly, the locomotive rewrites the contents of both the DD- and the ZZ-memories, returning them from 1 to 0. Then, the locomotive leaves the ZZ-memory through its E-gate so that, via the disc dd, it arrives to FF where the flip-flop switch sitting there sends it to the switch sitting at AA. Now, during its trip for the E-gate of the ZZ-memory to the W-gate of the DD-memory, the locomotive arrived to PP through the branch PPbb of that passive switch. Accordingly, the switch selected that track and, in the meanwhile, sent another locomotive to AA in order to select the appropriate track, that which leads to ZZ in the program. As the locomotive passed for a second time through FF, the switch selects presently the track leading to RR, its initial configuration. Accordingly, the scheme illustrated by the picture performs what is expected.

At last and not the least, we have to look at what happens when the locomotive arrives to the program after performing its operation on the register. Whatever the track arriving to the program, it leads to the appropriate instruction: the next one in the program if the just operated one was an incrementation or a successful decrementation, a specified one if the decrementation was unsuccessful. We have to remember, when we shall discuss the rules that when it leaves a register, whatever the return path, the locomotive must be blue.

3.2.5 Constitution of a register

The implementation of the register requires a special examination. As the computation is supposed to start from a finite configuration, at initial time, each register has only finitely many non blank tiles. So that incrementation and decrementation necessarily change the length of the register which is always finite.

Our choice is to make the register grow as long as the computation is not completed. The operations of incrementing and decrementing can be implemented by a change of colour at the beginning end of the register: its content is the number of cells of that particular colour. The continuation of the register is made at speed 12\displaystyle{1\over 2} for a reason we soon indicate. It happens independently of the operations performed on the register. As far as the length of the track from the register and back is enormous, the other end of the register is farther and farther from its beginning end. So, to stop the register when the stopping instruction is reached, the program sends a locomotive to all registers. Each locomotive crosses its register at speed 1. That condition guarantees that the stopping signal will eventually reach the growing end of the register so that it can stop the continuation.

The register consists of four sequences of tiles following a line \ell on \mathcal{H}. We say that such a sequence is a strand of the register. Two strands are upon \mathcal{H} and the two others are below \mathcal{H}. One strand over \mathcal{H} contains the content of the register, we denote it by Rc. That strand is blue, denoted B and the content is blank which we denote by W. The strand below Rc is red, denote by R, and it is the return path for an incrementing instruction. We denote it by Ri. The other strand over \mathcal{H} is yellow, denoted by Y and it is the return path for a decrementing instruction. We denote it by Rd. The fourth strand, hence below \mathcal{H}, is blue and is the path for the stopping signal. We denote it by Rs. The growing end consists of the last tiles of each sequence, those tiles being green, denoted by G. We shall see more precisely how it is performed when we shall study the rules for implementing the simulation. In order to facilitate our explanations, if 𝒮\mathcal{S} is one of the four strands we depicted, 𝒮\mathcal{S}(0) denotes its first cell, more generally, 𝒮\mathcal{S}(i)(i), with i+i\in{\mathbb{N}}^{+}, denotes the ithi^{\rm th} element on the strand. As we also need to define the cell which has a side on \ell and which is continued by 𝒮\mathcal{S}, we denote that cell by 𝒮\mathcal{S}(-1). We define a numbering for the tiles of 𝒮\mathcal{S} as illustrated by Figure 8 and as explained in our discussion about the neighbours of a tile. The motion of a locomotive from a face 5 to a face 2 allows us to see that on two strands, Rc and Rs, the motion goes on 𝒮\mathcal{S}(nn) by following increasing values of nn while of the two other ones, Ri and Rd, it goes by following decreasing values of nn.

4 The rules

Let us remind the reader that cellular automata are a model of massive parallelism. The base of a cellular automaton is a cell. The set of cells is supposed to be homogeneous in several aspects: the neighbours of each cell constitute subsets which have the same structure; the cell changes its state at each tip of a discrete clock according to the states of its neighbours and its own state. The change is dicted by a finite automaton which is the same for each cell. A tessellation is an appropriate space for implementing cellular automata. Let TT be a tile and let N(T)N(T) be the set of its neighbours. In a tessellation, N(T)N(T) is the same for any TT and two tiles of the tessellation are isomorphic with respect to the geometry of the space on which the tessellation is defined. The dodecagrid is a tessellation of the hyperbolic 3D3D-space. Moreover, there is an algorithm to locate the tiles which is cubic in time and in the size of the code attached to each tile, see [3] for instance. However, we do not need that location system. The main reason is that we work on the basis of \mathcal{H} where there is a linear algorithm to locate the cells, see [3] too, and our incursions in the third dimension does not drive us far from \mathcal{H}. The tunnel and the growth of the registers indicated us how far it can be.

The way the automaton manages the change of states can be defined by a finite set of rules we shall call the program of the automaton denoted by \mathbb{P}. We organise \mathbb{P} as a table we display by pieces according to the role of the corresponding instructions with respect to the place of the locomotive in the circuit it performs. In Sub-section 4.1 we shall define the format of the rules, what means their rotation invariance and how we check it. In Sub-section 4.2, we look at the rules regarding neighbours of generations 2 and 3. In Sub-section 4.3 we look at the application of the rules for the tracks, including those for the crossings. In the same sub-section we do the same for the rules managing the working of the switches, mainly their control structures. In Sub-section 4.4 we study the rules for the register, separately considering the growth of the register, its incrementation and its decrementation, the case of an empty register being included. Sub-section 4.5 gives us the rules for stopping the computation.

4.1 Format of the rules and rotation invariance

A cell of the dodecagrid in the cellular automaton we define with the set of rules studied in this section consists of a tile of the tiling, we call it the support of the cell, together with the finite automaton defined by the rules of the present section. However, we shall use the words cells and tiles as synonyms for the sake of simplicity. The neighbour of a cell cc whose support is Δ\Delta is a cell whose support is one of the Δi\Delta_{i}, i{0..11}i\in\{0..11\}, where Δi\Delta_{i} shares the face ii of Δ\Delta. Accordingly, Δ\Delta can see each Δi\Delta_{i} and it is seen by that latter cell but Δi\Delta_{i} and Δj\Delta_{j} with iji\not=j cannot see each other, as already known. We also say that Δi\Delta_{i} is the ii-neighbour of Δ\Delta. The index of Δi\Delta_{i} refers to a numbering of the faces. We use the one we described in Section 1 with the help of Figure 1. As long as it will be possible, cells on \mathcal{H} or below that plane will have their face 0 on \mathcal{H}. We already fixed the face 1 of the strands in the previous section.

As usual, we call alphabet of our cellular automaton the finite set of its possible states. The alphabet of our cellular automaton consists of W, B, R, G and Y we already met. We also call W the blank as far as it is the quiescent state of automaton and we remind the reader that the cells of the dodecagrid are blank, except finitely many of them at whichever time. Let cc be a cell of the dodecagrid whose state is So and whose support is Δ\Delta, and let Si be the state of its ii-neighbour. Let Sn be the new state of cc, i.e. the state taken by cc when it is the state associated with So and the Si by the automaton. We write this as follows:

So.S0S1S2S3S4S5 S6S7S8S9S10S11.Sn (2)    and we say that S is a rule of the automaton. All rules of the automaton we give in the present section obey the format defined by (1)(1). Of course, So and the Si belong to the alphabet 𝔸={\mathbb{A}=\{W, B, R, G, Y}\}. From the remark on 𝔸\mathbb{A}, we can read a rule as a word on 𝔸\mathbb{A}: it is enough to remove the dots which occur in(2).

Let ρ\rho be a rotation leaving the support of cc globally invariant. Let S \in \mathbb{P}. We call rotated image of S under ρ\rho the rule: So.Sρ(0)Sρ(1)Sρ(2)Sρ(3)Sρ(4)Sρ(5) Sρ(6)Sρ(7)Sρ(8)Sρ(9)Sρ(10)Sρ(11).Sn     which we denote Sρand we also say that Sρ as a word is a rotated form of S.

A rule S is said rotation invariant if and only if for any rotation ρ\rho leaving the support of the cell globally invariant we have S \in \mathbb{P} \Rightarrow Sρ \in \mathbb{P} (3)    It is important to note that the rotation invariance requires the invariance in all rotations leaving the dodecahedron globally invariant. The set \mathcal{R} of those rotations cannot be replaced by a set of generators. For example, we have seen that the set of rotations around a face leaving the face invariant defines six generators. Now, if S is rotation invariant in those generators, it does not involve that it would be invariant under products of those generators. In other words, if g1g_{1} and g2g_{2} are such generators, Sg1{}_{g_{1}}, Sg2{}_{g_{2}} \in \mathbb{P} does not involve that Sg1g2{}_{g_{1}\circ g_{2}} should be in \mathbb{P} as far as Sg1{}_{g_{1}} is generally formally different from S even if Sg1{}_{g_{1}} were in \mathbb{P}. Accordingly, rotation invariance in the case of a cellular automaton in the dodecagrid is a huge constraint: it requires to check the application of sixty rotations to each rule of its program. By comparison, the rotation invariance in the heptagrid, for instance, requires seven conditions only. In the Euclidean frame, the rotation invariance for a square grid requires four conditions and for the cube twenty four of them. Sixty is twice and a half twenty four. This is why the result of Theorem 1 is significant: the reduction from 10 to 5 is a relevant effort.

There is a simple way to check rotation invariance for the rules of \mathbb{P}. We already noticed that a rule in the format (2) can be read as a word on 𝔸\mathbb{A} and we have also read Sρ as a word for any ρ\rho in \mathcal{R}. If we lexicographically order the rotation forms of S for all ρ\rho in \mathcal{R}, we can choose the smallest one as representative of all the others. Call that word the minimal form of the rotated forms of S and denote it by minR(S). We get the following lemma:

Lemma 3

Let U and V be two rules of \mathbb{P}. Then V is a rotated image of U if and only if their minimal forms are identical.

Proof. Denote SR the set of all rotated forms of S. Then, clearly, minRS = Sρ for some ρ\rho\in \mathcal{R}. Also note that for two rotations ρ1\rho_{1} and ρ2\rho_{2} in \mathcal{R} and for any rule S, we have Sρ1ρ2{}_{{\rho_{1}}_{\rho_{2}}} = Sρ1ρ2{}_{\rho_{1}\circ\rho_{2}}. Accordingly, U \in VR if and only if V \in UR and also if and only if UR = VR. Which proves the lemma. \Box

The condition given by the lemma induces a criterion which is hardly manageable for handy computations. Fortunately, the criterion can easily be performed by an algorithm we leave to the reader. We programmed such an algorithm to check the rotation invariance of the set of rules we define in the paper. Also note that the lemma gives us the way to simplify the presentation of \mathbb{P}: if we strictly apply (3), as far as for each S in \mathbb{P} and for each ρ\rho in \mathcal{R} Sρ should also be in \mathbb{P}, the number of rules in \mathbb{P} is a multiple of sixty. Accordingly, if in \mathbb{P} we replace all rules which are rotations image of each other by their minimal forms, we get a new set of rules 𝕄\mathbb{M} whose number of elements is that of \mathbb{P} divided by sixty. The set of rules we shall present is not exactly 𝕄\mathbb{M}. Instead of replacing the rules in SR by the minimal form, we take a more understandable element which will appear from our investigations. It is that set of rules, whose cardinality is that of 𝕄\mathbb{M} we present and we denote it by 𝕋\mathbb{T}. Accordingly for two rules U and V in 𝕋\mathbb{T}, we have that minRU \not= minRV. In that case, we say that U and V are rotationally independent. If the rules of 𝕋\mathbb{T} are pairwise rotationally independent, we say that 𝕋\mathbb{T} is rotationally coherent. The computation program I devised in establishing 𝕋\mathbb{T} also checked the rotational coherence of that set of rules.

As an example, the rule W.WWWWWB BWWBBW.B is rotationally equivalent to the following rule: W.WWWWBW BWWBBW.B . Their common rotation form is W.WWWWWW WBWBBB.B . We get that form from the first rule thanks to a rotation around face 1, while we get it from the other rule thanks to a rotation around the vertex 6-10-11. As already mentioned, the rule rotationally equivalent to the second one does not occur in 𝕋\mathbb{T}.

We often considered what we call an idle configuration. In such a condition, the configuration must remain unchanged as long as the locomotive is not in the window which defines the configuration. Such rules are called conservative. When the locomotive falls within the window, some cells are changed while the others remain unchanged. The rules which change a cell are called motion rules. Among those which do not change a cell, some of them have the locomotive in their neighbourhood, in general for one step of the computation. Although the cell is not changed, we say that it can see the locomotive so that it is a witness of its passage so that we call such rules witness rules. They appear to be an intermediate class between the conservative rules to which they belong as far as the new state is the same as the previous one but their neighbourhood is changed so that they are in some sense affected by the motion to which they contribute by their conservative function. In our discussion, we shall make the distinction between conservative and motion rules as long as it will be needed. The rules are numbered to facilitate their references in the text.

4.2 Rules regarding generations 2 and 3

In our discussion leading to Proposition 2 and to Lemma 2, we considered neighbours of generation 1, generation 2 and generation 3. Of course, the rules of 𝕋\mathbb{T} are potentially applied to any cell. However, the question of what can be said about that distinction among neighbours is important for establishing a simulating program. It is know that for hyperbolic spaces the number of tiles within a ball of radius kk is exponential in kk. As an example, the number of cells which are at a distance 10 from a tile is 1528. For each of these cells at least 6 of their neighbours are not shared with the other cells of the same sphere. And that deals with a single while many configurations involve around ten cells, possibly forty eight for the registers. Such a heavy number is not manageable even by a program. It is desirable to reduce the number of neighbours to be checked.

In the discussion of Proposition 2 and Lemma 2, we considered generations 1, 2 and 3 of a given cell and we considered the connections between the spheres around a cell. It is possible to define the notion of neighbour of a cell of generation nn for any positive nn: the neighbours of the generation nn+1 of a tile TT are the neighbours of those of the generation nn which do not belong to a generation mm with m<nm<n. We noticed that a neighbour of TT of generation 3 has only a vertex in common with TT. Clearly, the neighbours of generation 4 are separated from TT by at least one tile. Repeating the argument, the tiles of generation 4n4n are further and further from TT as nn is increasing, a property we already mentioned.

Consider the following rules:

  W.WWWWWW WWWWWW.W W.BWWWWW WWWWWW.W W.RWWWWW WWWWWW.W W.GWWWWW WWWWWW.W W.YWWWWW WWWWWW.W W.BBWWWW WWWWWW.W W.GGWWWW WWWWWW.W W.RRWWWW WWWWWW.W W.YYWWWW WWWWWW.W 10 W.RBWWWW WWWWWW.W 11 W.RYWWWW WWWWWW.W 12 W.GBWWWW WWWWWW.W 13 W.GRWWWW WWWWWW.W 14 W.GYWWWW WWWWWW.W 15 W.YBWWWW WWWWWW.W 16 W.BBBWWW WWWWWW.W 17 W.RRRWWW WWWWWW.W 18 W.GGGWWW WWWWWW.W 19 W.YYYWWW WWWWWW.W 20 W.BBRWWW WWWWWW.W 21 W.BBGWWW WWWWWW.W 22 W.BBYWWW WWWWWW.W 23 W.RRBWWW WWWWWW.W 24 W.RRGWWW WWWWWW.W 25 W.RRYWWW WWWWWW.W 26 W.GGBWWW WWWWWW.W 27 W.GGRWWW WWWWWW.W 28 W.GGYWWW WWWWWW.W 29 W.YYBWWW WWWWWW.W 30 W.YYRWWW WWWWWW.W 31 W.YYGWWW WWWWWW.W 32 W.BRGWWW WWWWWW.W 33 W.BRYWWW WWWWWW.W 34 W.BGRWWW WWWWWW.W 35 W.BGYWWW WWWWWW.W 36 W.BYRWWW WWWWWW.W 37 W.BYGWWW WWWWWW.W 38 W.RGYWWW WWWWWW.W 39 W.RYGWWW WWWWWW.W (4)     

Those rules obey the following patterns:

(a)(a) W.XWWWWW WWWWWW.W , (b)(b) W.XYWWWW WWWWWW.W , (c)(c) W.XYZWWW WWWWWW.W , with X, Y, Z \in {\{B, R, G, Y}\} (5)   

Proposition 3

Consider a cellular automaton AA whose program is rotationally coherent and which contains the rules (4)(4). Then, the halting of the computation of AA starting from a finite configuration is decidable.

Proof. Under the hypothesis of the proposition, AA contains all possible rules of (5) modulo rotation invariance. Fix a non-blank cell T0T_{0} of the initial configuration of a computation of AA. Let \mathcal{B} be the smallest ball around T0T_{0} outside which all cells are blank at initial time of the computation. Let kk be its radius and let UU be a tile at distance kk of T0T_{0}. Consider VV a neighbour of UU which does not belong to \mathcal{B}. By construction, VV is at distance kk+1 and it is blank. The neighbourhood of VV contains at most three neighbours which belong to \mathcal{B}. That assertion is entailed by our study of the neighbours of generation 1, 2 and 3 around a tile. Accordingly, at least one of the rules from (5) apply to VV which remains blank. That argument can be repeated to any tile at distance kk from T0T_{0}, so that the cells outside \mathcal{B} always remain blank. Accordingly, the computation remains inside \mathcal{B}. Consequently, either the computation halts at some time or it becomes periodic after a certain time: both situation are algorithmically detectable. \Box

Note that there are 39 rules in (4)(4). In full generality, there are five rules of the form aa, assuming that X is not blank. In the same line there are 16 rules of the form (b)(b) and 64 of them of the form (c)(c). Rotation invariance allows us to reduce the number of rules of the form (b)(b), (c(c) to 10, 24 ones respectively. Note that under rotation invariance, rules W.XYWWWW WWWWWW.W and W.YXWWWW WWWWWW.W where X \not= Y are rotationally identical. Indeed, the neighbours X and Y share an edge ss and the rotation around the axis passing through the midpoints of ss and of its opposite side allows us to pass from one rule to the other one. It is also the reason why we may assume that in the rules of the form (c)(c), none of X, Y and Z is the blank. If it where the case an appropriate rotation would transport such a rule to a rule of the form (b)(b). Similarly, if two rules of the form (c)(c) have their non-blank patterns as circular permutation of each other, then those rules have the same minimal form.

Proposition 3 is not contradictory with Theorem 1: indeed, 𝕋\mathbb{T} does not satisfy Proposition 3 as far as it rules out a single rule of (4) replacing it by a rule of the form W.XWWWWW WWWWWW.Y , where X and Y are non blank, as will further be seen. Accordingly, withdrawing one carefully chosen rule from (4) is enough to establish the strong universality of an appropriate computation.

However, as far as 𝕋\mathbb{T} contains all rules of (4) of the forms (b)(b) and (c)(c) and all rules of (a)(a) but one, we may consider that a blank cell VV which is a neighbour of generation 2 or 3 of non-blank cells of the configuration remains blank as long as VV remains a neighbour of generation 2 or 3 of those cells. That property allows us to restrict the simulation to neighbours of generation at most 2 of cells of the configuration. We shall always check that such an assumption is sound.

4.3 The rules for the tracks and the switches

We have already met the rule which defines the quiescent state: a state which is unchanged if the cell and all its neighbours are in that state. In 𝕋\mathbb{T}, W is the quiescent state and 𝕋\mathbb{T} contains the corresponding rule, rule 1 in (4).

We start our study of the rules and the construction of the rules by those which manage the tracks. The motion rules are simple as they implement the following abstract scheme: WWW      LWW      WLW      WWL (6)   

To the left of (6), we have the conservative situation, rule 42 in Table 2. Then, the locomotive enters the window and, in the two successive steps, rule 43 and 45 it crosses the window. Then, it witnesses the occurrence of the locomotive in the next element of the track, rule 46 and, which, at the next step, the cell recovers the conservative condition requiring rule 42. The implementation of those rules in the dodecagrid are easy. The first part of Table 3 gives us traces of execution of the automaton along a line as illustrated by Figure 12. Note that rule 44 converts a red locomotive entering a cell of the track to become blue when it is in the cell so that rules 45 and 46 apply, allowing the previously red locomotive to leave the cell as a blue one.

First, let us look at the conservative rules. They mainly deal with the decorations of the tiles of a track. A cell belonging to the decorations is B an it is surrounded by white cells so that rule 2 applies. Also, rule 40 applies: the decoration remains in place during the computation which also requires rule 41: that rules witnesses the passage of the locomotive in the cell. If we look carefully at Figure 12, tiles on faces 6 and 10 do not see each other but, as known from the proof of Proposition 2 they have a common neighbour which is white and which must remain white: whence rule 6 is needed.

In the rules for the tunnel, the rules for the line also apply but the tunnel requires specific rules. The first reason lies in the decoration of a cell allowing the entry into the tunnel: it contains a red cell. Consequently, we have rule 47 for the conservation of the red cell in idle configurations and rule 48 for the same purpose when a locomotive crosses the cell, always a blue one. As the red cell shares a side with a blue belonging to the decorations, a white cell can see both of those cells so that rule 10 also applies. We remind the reader the forms W.XYWWWW WWWWWW.W and W.YXWWWW WWWWWW.W where X \not= Y define the same rule under rotation invariance.

Table 2
Table of the rules managing the structures needed for conveying information from the program to the circuit together with the motion of the locomotive. line 40 B.WWWWWW WWWWWW.B 41 B.BWWWWW WWWWWW.B 42 W.WWWWWW BWWBBW.W 43 W.WWWWWB BWWBBW.B 44 W.WWWWWR BWWBBW.B 45 B.WWWWWW BWWBBW.W 46 W.WWBWWW BWWBBW.W tunnel 47 R.WWWWWW WWWWWW.R 48 B.RWWWWW WWWWWW.B 49 W.WBWWWW BWWBBW.B 50 W.WWWRWW BWWBBW.W 51 W.WWWRWB BWWBBW.B 52 W.WWWRWW BBWBBW.B 53 B.WWWRWW BWWBBW.W 54 W.WWBRWW BWWBBW.W controller 55 W.BWWWWW BWWBBW.W 56 W.BWWWWB BWWBBW.W 57 W.WWBWWB BWWBBW.B 58 B.WWBWWW BWWBBW.W 59 W.WWWWWW BWWBBB.W 60 B.WWWWWW BWWBBB.B 61 W.WWWWWB BWWBBB.B 62 B.WWWWWB BWWBBB.W 63 B.BBWWWW WWWWWW.B 64 W.WWWWWW BRWBBW.W 65 W.WWWWWB BRWBBW.W fork 66 W.WWWWWW BBBBWR.W 67 W.WWBWWW BBBBWR.B 68 B.WWWWWW BBBBWR.W 69 W.WWWWBB BBBBWR.W

Rule 49 allows the entry into a cell through its face 1. Rule 50 is the conservative rule for the cell giving access to the tunnel. Rules 51 and 52 define two possible entries for a locomotive, either through face 5 or through face 7. Rules 53 and 54 complete the motion rules, playing for that cell the role of rules 45 and 46 for an ordinary cell of the track. The first part of Table 3 illustrates the application of those rules by a simulating computer program.

Rule 55 keeps the situation of an element of the track which will stop the locomotive as indicated by rule 46: the locomotive seen through face 5 is not allowed to enter the cell. A this point, note that rule 43 and W.WWWWBW BWWBBW.B are rotationally identical to their minimal form W.WWWWWW WBWBBB.B . That allows us to accept the entry of a locomotive into an element of the track through its face 4. The same can be said about rule 56 which is rotationally equivalent to the rule W.BWWWWW BWWBBW.W , their minimal form being W.WWWWWB WBWBBB.W , so that the entry through face 4 is also ruled out in that case.

Rules 57 and 58 deal with the element η\eta of the track which stands by the cell of the controller. Both rules concern the case when the controller is blue which forbids the locomotive to enter a cell. Rule 57 let the locomotive enter η\eta, rule 58 says that the locomotive which entered η\eta does not stay in η\eta. Rule 59 and 60 are the conservative rule for the controller whose decoration consists of blue cells on its faces 6, 9, 10 and 11. Rule 59 applies to a blank controller which let a locomotive go while rule 60 applies to a blue controller which stops a locomotive. As illustrated by Figure 16, the controller is placed under the element where we want to stop a locomotive. The access to a controller occurs below \mathcal{H} when the track is over that plane and it occurs upon it if the track is below it. The same tiles as for the entry to a tunnel are used in order to go from one side of \mathcal{H} to its opposite side. Rules 61 and 62 show the change of colour in the controller.

Table 3

Traces of execution of the rules of Table 2 on the different structures used in the switches and crossings.

the line :       + - - - - + - - - - + - - - -       W B W W W W W W W W W W W W W 0      W W B W W W W W W W W W W W W 1      W W W B W W W W W W W W W W W 2      W W W W B W W W W W W W W W W 3      W W W W W B W W W W W W W W W 4      W W W W W W B W W W W W W W W 5      W W W W W W W B W W W W W W W 6      W W W W W W W W B W W W W W W 7      W W W W W W W W W B W W W W W 8      W W W W W W W W W W B W W W W 9      W W W W W W W W W W W B W W W 10      W W W W W W W W W W W W B W W 11      W W W W W W W W W W W W W B W 12      W W W W W W W W W W W W W W B the tunnel       + - - - - + - - - - + - -       W W W W W W W W W W W B W 0      W W W W W W W W W W B W W 1      W W W W W W W W W B W W W 2      W W W W W W W W B W W W W 3      W W W W W W W B W W W W W 4      W W W W W W B W W W W W W 5      W W W W W B W W W W W W W 6      W W W W B W W W W W W W W 7      W W W B W W W W W W W W W 8      W W B W W W W W W W W W W 9      W B W W W W W W W W W W W 10      B W W W W W W W W W W W W

controller:       + - - - - + - - - - + -       W B W W W W W B W W W W 0      W W B W W W W W B W W W 1      W W W B W W W W W B W W 2      W W W W W W W W W W B W 3      W W W W W W W W W W W B 4      W W W W W W W W W W W W changing the control:       + - - - - + - - - - + - - -       W B W W B W W B W W W W W W 0      W W B W B W W W B W W W W W 1      W W W B B W W W W B W W W W 2      W W W W W W W W W W B W W W 3      W W W W W W W W W W B W W W 4      W W W W W W W W W W B W W W 5      W W W W W W W W W W B W W W

fork:       + - - - - + - - - - + - - -       W B W W W W W W W W W W W W 0      W W B W W W W W W W W W W W 1      W W W B W W W W W W W W W W 2      W W W W B W W W W W W W W W 3      W W W W W B W W W B W W W W 4      W W W W W W B W W W B W W W 5      W W W W W W W B W W W B W W 6      W W W W W W W W B W W W B W arc of a circle:       + - - - - + - - - - + -       W B W W W W W W W W W W 0      W W B W W W W W W W W W 1      W W W B W W W W W W W W 2      W W W W B W W W W W W W 3      W W W W W B W W W W W W 4      W W W W W W B W W W W W 5      W W W W W W W B W W W W 6      W W W W W W W W B W W W 7      W W W W W W W W W B W W 8      W W W W W W W W W W B W 9      W W W W W W W W W W W B 10      W W W W W W W W W W W W

Rules 64 and 65 define a new element of the track which unconditionally stops a locomotive. It was used in the simulating program to facilitate the implementation.

The last four rules of the table deal with the fork. Rule 66 is the conservative rule of the centre of the fork in idle configurations. Note the particular decoration: blue faces 6, 7 8 and 9 and a red face 11, see Figure 14 in Sub-section 3.2. Rule 67 show us that the locomotive enters the fork through its face 2, rule 68 witnesses the crossing and rule 69 witnesses that two locomotives exited through faces 4 and 5.

Note that there are no special rules for the switches outside those we indicated up to now, even for the fixed switch. Indeed, when the locomotive comes from the left-hand side branch, it requires the rule ρ\rho W.WWWWBW BWWBBW.B and it requires rule 43 when the locomotive comes from the right-hand side branch. Both rules have the same minimal form, namely W.WWWWWW WBWBBB.B . For the rule ρ\rho, the rotation around faces 1 and 9 gives that minimal form. For rule 43, the rotation around the vertices 0-2-3 and 6-10-11 yields the same minimal form.

The main features of the switches are the organization of their needed circuits in the dodecagrid. We have seen that the elements of the track are enough for that purpose. The rules for the fork and for the controller complete the needed set of rules.

4.4 The rules for the register

The present part of 𝕋\mathbb{T} is the biggest as all the remaining rules are devoted to the registers.

First, in Sub-subsection 4.4.1 we examine the conservative rules for each strand of a register together with the few rules allowing the motions in the strand described in Sub-section 3.2. Then, in Sub-subsection 4.4.2 we give the rules for the growth of the register. Next, we study the decrementation in Sub-section 4.4.4. After that, Sub-subsection 4.4.5 manages the incrementation. At last, Sub-subsection 4.5 deals with the halting of the computation which concerns the register as a specific strand is devoted to that operation.

4.4.1 The strands of a register

Before looking at each strand separately, we have to look at the implementation we give to the strands.

Here is an example of the constraint raised by the rotation invariance. Consider the following rules: (a)(a) W.RYWWR WWWWWW.R and (b)(b) W.RRYWW WWWWWW.W . For both of them, the neighbourhood has the reduced form: (r)(r) WWWWWWWWWRRY. It can be checked on Figure 6 that the rotation around the axis through the midpoint of 4.5 and 7.8 transforms (a)(a) onto (r)(r) while a rotation around faces 4 and 7 transforms (b)(b) onto (r)(r). Rule (a)(a) is necessary for the motion of a red locomotive on a strand according to the definition given to that strand of a register in [10]. But rule (b)(b) is needed according to Proposition 2. Accordingly the definition of our strands have to be seriously tuned.

We use the notations introduced in Sub-subsection 3.2.5. Let us remind the reader that the four strands of a register are Rc, Ri, Rd and Rs. Two of them, Rc and Rd are over \mathcal{H} while the two others, Ri and Rs are below that plane. Each 𝒮\mathcal{S}(nn) has its face 0 on \mathcal{H} and for each of them, its face 1 has a side on a line \ell of \mathcal{H} attached to that register. That fixes the numbering as already mentioned. Note that for strands over \mathcal{H} the numbering is increasing while clockwise turning around the projection of the cell. For the strands seen through a translucent \mathcal{H} the numbering is counterclockwise increasing.

A cell has at least four important neighbours : a cell of the same coordinate belonging to another strand seen from its faces 0 and 1 and two cells of the same strand seen from its faces 5 and 2. We append two decorations to each 𝒮\mathcal{S}(nn) : a blue cell on its faces 4 and 6 for Ri and Rd, on its faces 3 and 7 on Rc and Rs.

The main reason for those decorations is to ensure the rotation invariance of the rules. Let us now explain why namely those faces are involved. In order to understand that it is necessary to describe how the register is growing. We decided that Rc is B, at least, close to the growing end, that Rs also is B while Ri is R and Rd is Y. Let NtN_{t} be the coordinate such that, at time tt, 𝒮\mathcal{S}(n)(n) is W if n>Ntn>N_{t} and that it is the colour of its strand if n<Ntn<N_{t}. For n=Ntn=N_{t}, we decide that 𝒮\mathcal{S}(n)(n) is G. We also decide that, at time 2t2t, each neighbour of 𝒮\mathcal{S}(n)(n) which has a single non-blank neighbour becomes B while 𝒮\mathcal{S}(n)(n) remains G. To decide what to do at time 2t2t+1, it is necessary to closer look at the situation. Two figures help us to see the configuration of the end of the register: Figures 23 and 24.

The former figure is a cut along a plane 𝒱\mathcal{V} which is perpendicular to \ell and which contains a face of each 𝒮\mathcal{S}(n)(n) for some nn. On the right-hand side of the figure, we have the representation on \mathcal{H} while, on the left-hand side, we have the projections of the tiles we can see. Remember the condition we have given for a neighbour SiS_{i} of 𝒮\mathcal{S}(n)(n): SiS_{i} must have eleven white neighbours while its single non-blank neighbour is 𝒮\mathcal{S}(n)(n) itself whose colour is G. Which faces of 𝒮\mathcal{S}(n)(n) satisfy such a condition?

The figure indicates that on all cells, a priori, we have all faces except faces 0, and 1, and also face 2 for Rc and Rs and face 5 for Ri and Rd. But, we have to take into account the fact that S7S_{7} and S8S_{8} of each 𝒮\mathcal{S}(nn) can see S6S_{6} and S10S_{10} respectively on 𝒮\mathcal{S}(n(n-1)1) for Ri and Rd, on 𝒮\mathcal{S}(n(n+1)1) for Rc and Rs. Moreover, S3S_{3} of each 𝒮\mathcal{S}(nn) can see S4S_{4} on 𝒮\mathcal{S}(nn-1) for Ri and Rd or on 𝒮\mathcal{S}(nn+1) for Rc and Rs. Now, on Rc and Rs, S7S_{7} of 𝒮\mathcal{S}(nn) can see S6S_{6} of Rd and Ri respectively for the same coordinate. If we wish to obtain G on 𝒮\mathcal{S}(NtN_{t}+1), we must take advantage of the fact that the S2S_{2} of Rc and Rs can see the S5S_{5} of both Ri and Rd, similarly for the S5S_{5} of Ri and Rd with the S2S_{2} of both Rc and Rs. Accordingly, each of those SiS_{i}’s have two B-neighbours and they all can see a G-cell. We can then decide that in such a case the B-cell becomes G and that the former G-cell takes the colour of its strand. We remain with what to do with the other B-neighbours of the G-𝒮\mathcal{S}(Nt)(N_{t}). From what we just remarked, S6S_{6} or S7S_{7}, and also S3S_{3} or S4S_{4}, it depends on which strand the cell is, is blue and can see another blue neighbour. We can decide that such a B-cell remains B.

If we do that, what can be said? In that case, we can see that on Rc or Rs, an S6S_{6} neighbour of the G-cell which is white remains white as far as it can see the G-cell and a B-decoration on 𝒮\mathcal{S}(NtN_{t}-1). Accordingly, that cell remains white. We have the same argument with S4S_{4} for the same cell. A similar argument holds for S7S_{7} and S3S_{3} on the G-cell of Ri and of Rd. Accordingly, at time 2t2t+1 we can decide that the B-cells which can see their G-neighbour as their unique non-blank neighbour become white. Accordingly, the new cell of the strand receives the same decoration as its neighbour 𝒮\mathcal{S}(NtN_{t}-1) on the strand. All other neighbours are white outside its neighbours 0, 1, 2, 5 and outside the decorations, neighbours 3 and 7 on Rc and on Rs, neighbours 4 and 6 on Ri and on Rd.

[Uncaptioned image]

Figure 23

Cut of the strands of a register along a plane 𝒱\mathcal{V}, perpendicular to \ell. Note the correspondence of colours between the left- and right-hand sides of the figure.

Those conclusions hold for 𝒮\mathcal{S}(nn) with n>0n>0. For n=0n=0 it is important that the cell knows that it is the first one of the strand. As the cell cannot see the decoration of its neighbours, that information of being the first cell must be given in the decoration. For Rc, it receives one additional blue cell on face 9. A single blue cell on face 9 is also given to Ri. However, Rd receives two additional red cells on faces 9 and 11. Eventually, Rs is fitted with a single blue cell on face 9.

We gather that information on the neighbours of 𝒮\mathcal{S}(nn) as follows: 𝒮\mathcal{S}(nn), n>0n>0: Rc : 0: R, 1: Y, 2:B, 3:B, 5:B, 7: B, others: W; Ri : 0: B, 1: B, 2:R, 4:B, 5:R, 6: B, others: W; Rd : 0: B, 1: B, 2:Y, 4:B, 5:Y, 6: B, others: W; Rs : 0: Y, 1: R, 2:B, 3:B, 5:B, 7: B, others: W; 𝒮\mathcal{S}(0): Rc : 0: R, 1: Y, 2:B, 3:B, 5:W, 7: B, 9: B, others: W; Ri : 0: B, 1: B, 2:W, 4:B, 5:R, 6: B, 9: B, others: W; Rd : 0: B, 1: B, 2:Y, 4:B, 5:Y, 6: B, 9: R, 11: R, others: W; Rs : 0: Y, 1: R, 2:B, 3:B, 5:B, 7: B, 9: B, others: W; (7)    Note that in (7), the asterisk indicates that B may be replaced by W: remember that on Rc, the value vv stored in the register is indicated by vv contiguous blank cells starting from Rc(0) which, consequently, is B when v=0v=0. That possibility also concerns Ri and Rd which can see Rc through their face 0 and 1 respectively. It does not concern Rs which cannot see Rc.

Figure 24 illustrates the configuration of the end of the register when the G-cells are covered by B-neighbours. We can see the faces which are covered with a blank cell. The left-hand side part of the figure illustrates Rc and Rd, the strands above \mathcal{H}. The right-hand side part of the figure illustrates Ri and Rs which hang below \mathcal{H} and which are viewed through a translucent \mathcal{H}. The figure applies the convention for colouring the faces of the dodecahedrons we already defined. It can be seen that the cells of Rc and of Rs are blue, while those of Ri are red and those of Rd are yellow.

[Uncaptioned image]

Figure 24

The idle configuration of the growing end of a register at the time when blue cells cover the green ones. To left, over \mathcal{H}, to right, what is below a translucent \mathcal{H}. Note the line \ell, in red in the pictures.

[Uncaptioned image]

Figure 25

The idle configuration of 𝒮\mathcal{S}(n)(n) for n{n\in\{-1,0..3}1,0..3\} for Rc, Ri, Rd and Rs. To left, the strands over \mathcal{H}, to right, those which hang below a translucent \mathcal{H}. Note the line \ell, in orange in the figures.

The orientations for the motion of a locomotive on a strand are from face 5 to face 2 on all strands. In both Rc and Rs it means a motion from 𝒮\mathcal{S}(0) to the G-cell of 𝒮\mathcal{S}, while it is the opposite direction on both Rd and Ri. Those orientations are conformal to the role of the strands: on Rc the locomotive looks after the lowest cc such that Rc(cc) is blue, on Rs it looks after the G-cell; on Ri and Rd, the locomotive looks after 𝒮\mathcal{S}(-1). The cells 𝒮\mathcal{S}(-1) can be seen on Figure 25.

Note the specific decorations of the cells 𝒮\mathcal{S}(-1). We summarize what is illustrated by Figure 25 as follow, following the conventions of (7):

𝒮\mathcal{S}(-1): Rc : 2, B, 6, 9, 10: Y, others: W; Ri : 5: R, 6,9: R, 10: Y, others: W; Rd : 2: Y, 6,9: Y, 10:R, others: W; Rs : 5: B, 6: B, 7: R, 9, 10: B, others: W; Rc(-2): aa : 6, 9, 10: B, others: W; bb : 6: R, 7: B, 9, 10: R, others: W; cc : 6, 7, 11: Y, 9: B, others: W; (8)    We indicated three cells Rc(-2), denoted by aa, by bb and by cc. The reason is that three paths abut Rc(-1): the first path ending with Rc(-2)a leads a locomotive from the 𝔻I{\mathbb{D}}_{I} attached to the register. The second path ending with Rc(-2)b leads the locomotive from the 𝔻D{\mathbb{D}}_{D} attached to the register. The third path, starting from Rc(-2)c, leads the locomotive from the register to the 𝔻D{\mathbb{D}}_{D} of that register when the locomotive failed to perform the decrementation.

It is now time to look at the rules. We start with the conservative rules which allow the structure to remain unchanged as long as the locomotive is not present. We also append the motion rules for coming locomotives on Rc and Rs, for leaving ones on Ri and Rd.

Table 4
Tables for the strands of the register, green end being excluded. Rc 70 W.RYWBWW WBWBWW.W 71 W.RYWBWW WBWWWW.W 72 B.RYBBWW WBWWWW.B 73 W.RYWBWB WBWWWW.B 74 B.RYWBWW WBWWWW.W 75 W.RYBBWW WBWWWW.W 76 W.RYWBWB WBWBWW.B 77 W.RYBBWW WBWBWW.W 78 W.RYWBWR WBWWWW.R 79 R.RYWBWW WBWWWW.W 80 W.RYRBWW WBWWWW.W 81 W.RYWBWR WBWBWW.R 82 W.RYRBWW WBWBWW.W Ri 83 R.WBWWBR BWWBWW.R 84 R.BBWWBR BWWBWW.R 85 R.BBRWBR BWWWWW.R 86 R.WBRWBB BWWWWW.B 87 B.WBRWBR BWWWWW.R 88 R.WBBWBR BWWWWW.R 89 R.WBRWBR BWWWWW.R 90 B.WBWWBR BWWBWW.R 91 R.WBWWBB BWWBWW.B 92 R.WBBWBR BWWBWW.R Rd 93 Y.BWWWBY BWWRWR.Y 94 Y.BWYWBY BWWWWW.Y 95 Y.BBWWBY BWWRWR.Y 96 Y.BBYWBY BWWWWW.Y Rd, continued 97 Y.BWYWBR BWWWWW.R 98 R.BWYWBY BWWWWW.Y 99 Y.BWRWBY BWWWWW.Y 100 Y.BWWWBR BWWRWR.R 101 R.BWWWBY BWWRWR.Y 102 Y.BWRWBY BWWRWR.Y Rs 103 B.YRBBWW WBWBWW.B 104 B.YRBBWB WBWWWW.B 105 B.YRBBWR WBWBWW.R 106 R.YRBBWW WBWBWW.B 107 B.YRRBWW WBWBWW.B 108 B.YRBBWR WBWWWW.R 109 R.YRBBWB WBWWWW.B 110 B.YRRBWB WBWWWW.B In order to check the rules, it is enough to combine the information given in (7), (8) and (4), knowing that the concerned neighbours are 0, 1, 3, 4, 6, 7 for (7), we have to consider also neighbours 9 and 11 for (8) and, at last, the concerned neighbours for (4) are 2 and 5. Of course, we have to take into account the direction of the motion: from 5 to 2 on Rc and on Rs, while it is from 2 to 5 on both Ri and Rd.

There are more rules for Rc for two reasons. The first one is that contrarily to the other strands, the colour of Rc may change during the computation, at least on its beginning part. It is the reason why we need to duplicate conservative rules. The second reason is that there are two possible motions for the locomotive, although always from face 5 to face 2. For an incrementation, a blue locomotive runs on the strand while for a decrementation, it is a red one. On both cases, the locomotive runs on the blank part of the strand only. It is the reason while rules 78 to 80 are copied from rules 73 to 74 where B is replaced by R at the appropriate places. Also note that the decoration of Rc(0) requires specific rules, both for the conservative ones as well as for the motion ones.

The specificity of 𝒮\mathcal{S}(0) also concerns the other strands both for the conservative rules and for the motion ones. Duplication of a few rules occur also for Ri and Rd as far as those both strand can see Rc. Accordingly, neighbour 0 for Ri and neighbour 1 for Rd are either B or W.

We did not mention the rules for 𝒮\mathcal{S}(-1) and for Rc(-2)b and for Rc(-2)c: we postpone that to the study of the decrementation. Presently, we turn to the growth of the register.

4.4.2 The growing end of the register

We have studied the process in the previous sub-subsection thanks to Proposition 2 and thank to Figures 25 and 24. We revisit the argument given there on checking the rules devoted to that point.

Table 5
Rules for the growth of the register. conservation 111 B.RYGBWB WBWWWW.B 112 R.BBRWBG BWWWWW.R 113 Y.BBYWBG BWWWWW.Y 114 B.YRGBWB WBWWWW.B 115 G.GGWWWB WWWWWW.G 116 G.GGRWWW WWWWWW.G 117 G.GGYWWW WWWWWW.G growth : 1st step 118 W.GWWWWW WWWWWW.B 119 G.GGBBWB WBBBBB.B 120 G.GGRWBB BWBBBB.R 121 G.GGYWBB BWBBBB.Y growth : 2nd step 122 B.GBBWWW WWWWWW.G 123 B.GBWWWW WWWWWW.B 124 B.GWWWWW WWWWWW.W growth : 3rd step 125 R.BBRWBR BWWWWW.R 126 Y.BBYWBW BWWWWW.Y 127 Y.BBYWBY BWWWWW.Y 128 B.YRWBWB WBWWWW.B

Table 5 gives us the rules for the growth of the strands of a register. Our first remark is that the strands grow all together at the same pace. It is important for the achievement of the process. The first column of the table indicates a conservative situation: if gg is the coordinate of the G-cells, rules 111 to 114 give the rules for the conservation of 𝒮\mathcal{S}(gg-1) for all strands. Then, rules 115 to 117 give the conservation of G in the first step of the process. Note that rule 115 concerns both Rc(gg) and Rs(gg) as far as for those G-cells the non-blank and non-G neighbour is B in 𝒮\mathcal{S}(gg-1).

At the same time tt when rules 111 up to 117 apply, rule 118 apply to all blank neighbours of 𝒮\mathcal{S}(gg) which have a single non-blank neighbour: the G-cell at the coordinate gg. All those cells become B as indicated by rule 118.

The second column of the table contains rule 118 and the rules which apply at time tt+1. We can see on rule 119 which applies to both Rc(gg) and Rs(gg) that the G-cell becomes B. It means that on those strands, the G-cell covered with blue has taken the colour of its strand, exactly as indicated in Sub-subsection 4.4.1. Rule 119 also indicates that the neighbours 4 and 6 of those cells remain white, which is conformal to the decoration of the cells of those strands. Rule 120, 121 deal with Ri(gg), Rd(gg) respectively, also giving to that cell the colour of its strand. We also note that here, the neighbours 3 and 7 of those cells remain white, which is also conformal to the decoration of a cell of those strands.

Table 6
Traces of execution of the rules of Table 5. 0      + - - - - + - - - - c      B B B B G W W W W W i      R R R R G W W W W W d      Y Y Y Y G W W W W W s      B B B B G W W W W W 1      + - - - - + - - - - c      B B B B G B W W W W i      R R R R G B W W W W d      Y Y Y Y G B W W W W s      B B B B G B W W W W 2      + - - - - + - - - - c      B B B B B G W W W W i      R R R R R G W W W W d      Y Y Y Y Y G W W W W s      B B B B B G W W W W 3      + - - - - + - - - - c      B B B B B G B W W W i      R R R R R G B W W W d      Y Y Y Y Y G B W W W s      B B B B B G B W W W 4      + - - - - + - - - - c      B B B B B B G W W W i      R R R R R R G W W W d      Y Y Y Y Y Y G W W W s      B B B B B B G W W W 5      + - - - - + - - - - c      B B B B B B G B W W i      R R R R R R G B W W d      Y Y Y Y Y Y G B W W s      B B B B B B G B W W The lower part of the column gives us three rules which manage the fate of the B-cells raised by rule 118. Rule 122 says that if a B-cell can see G- and two B-cells, those three neighbours as if the concerned cell would be a neighbour of second generation for another neighbour of those latter cells, then that B-cell becomes G. Note that on G of Rc and Rs, the blue cell on its face 2 can see the blue neighbour of the face 5 of the G belonging to Ri and that which belongs to Rd. The same conclusion for the face 5 of Ri, Rd with both faces 2 of Rc and Rs. The conclusion is that on each 𝒮\mathcal{S}(gg+1) we have now a G-cell, so that the register is now bigger by one cell on each strand. Rule 124 says that a B-cell whose unique non-blank cell is G becomes W. That apply to many cells on G. To better see that, consider rule 123: it says that if a B-cell on G can see a unique B-cell and only W-cells outside its G- and B-neighbours remains B. That applies to the B-neighbour on face 7 for Rc and Rs. Indeed, as can be noticed on Figure 23, that neighbour can see the neighbour 6 of Rd for Rs and of Ri for Rc, those both cells being blue. That neighbour 7 can also see the neighbour 6 of the next neighbour of its strand. But that neighbour 6 is blank, so that rule 123 applies to the neighbour 7 of both Rc(gg) and Rss(gg) which remain blue. That argument can be applied to the neighbour 3 of those latter cells on 𝒮\mathcal{S} and also to the neighbours  4 and 6 of Ri(g)g) and Rd(gg) so that on 𝒮\mathcal{S}, at time tt+2, the cell of coordinate gg has the colour and the decoration of its strand and now, a bare G-cell stands at the coordinate gg+1.

The process increases the length of the register by one cell after two tips of the clock, whence the announced speed 12\displaystyle{1\over 2} of the growth.

4.4.3 The starting end of the register

Figure 25 illustrates the idle configuration of a register. On that figure, the content of the register is not 0 as far as the cells of Rc we can see on the left-hand side picture of the figure are blank. We recognize on the cells 𝒮\mathcal{S}(0) of the register the specific decorations indicated in (7)(7).

On the figures we can see that the cell 𝒮\mathcal{S}(-1) bear the decoration defined in (8)(8). In sub-subsections 4.4.5 and 4.4.4 we shall see the use of those particular decorations as far as they are connected with the operations on the register.

Note that a cell of 𝒮\mathcal{S}(nn), with n>0n>0, a has mainly four significant neighbours: two neighbours on its own strand and one neighbour on each strand seen by its own strand. The rules dealing with those cells are most often recognized by the second and third letter of the word they constitute as far as those letters correspond to neighbours 0 and 1 of the cell. The patterns are RY for Rc, BB or WB for Ri, BB or BW for Rd and YR for Rs. The rules for 𝒮\mathcal{S}(0) are easily recognizable by the least letters of the word which correspond to their neighbours 8 up to 11. We have the suffix WBWw for Rc, Ri and Rs and WRWR for Rd.

We have seen on Table 4 the rules for the cells of the strands for the coordinates n0n\geq 0 for each strand. Presently, we consider the cells 𝒮\mathcal{S}(-1) for all strands and the particular cells Rc(-2)b and Rc(-2)c which we already mentioned in the previous sub-subsection. The rules are given in Table 7.

Table 7
Table of the rules for 𝒮\mathcal{S}(1)(-1) and for R(2)bc{}_{c}(-2)_{b} together with R(2)cc{}_{c}(-2)_{c} Rc(-1) 129 W.WWWWWW YWWYYW.W 130 W.WWWWRW YWWYYW.R 131 R.WWWWWW YWWYYW.W 132 W.WWRWWW YWWYYW.W Rd(-1) 133 W.WWWWWY YWWYRW.W 134 W.WWWWWR YWWYRW.R 135 W.WWRWWY YWWYRW.R 136 W.WWWBWY YWWYRW.W Ri(-1) 137 W.WWWWWR RWWRYW.W 138 W.WWWWBR RWWRYW.B 139 B.WWWWWR RWWRYW.W 140 W.WWBWWR RWWRYW.W Rc(-2)b and Rs 141 W.WWWWWW RBWRRW.W 142 W.WWWWWB RBWRRW.R 143 R.WWWWWW RBWRRW.W 144 W.WWBWWW RBWRRW.W Rc(-2)c r19 W.WWWWWW WWYYWY.W The conservative rules for 𝒮\mathcal{S}(-1) are 129, 133, 137 and 144. That latter rule also holds for Rc(-2)b which has exactly the same decorations as Rs. The other rules are the motion rules for the locomotive for those rules, Rc(-2)c being excepted. The rule given for that latter cell is labelled r19 as far as its minimal form is exactly that of rule 19: W.WWWWWW WWWYYY.W . We obtain that form from rule 19 by the rotation around the axis joining the mid-points of the edges 1-6 and 3-9. The rotation around the axis joining the vertices 0-1-2 and 9-10-11 transforms r19 to the same minimal form. The motion rules for Rc(-2)c will be studied in Sub-subsection 4.4.4 to which we now turn.

4.4.4 Decrementation of the register

That operation is the most difficult to solve for the simulation. We formulate a general principle which we shall as far as possible implement in all cases. A red locomotive arrives on the blank part of the register which represents the value it is storing until it meets the first blue cell of the remaining part of the register. As the circuit which is run over by the locomotive is very big, although the growth of the register happens at speed 12\displaystyle{1\over 2}, the blue part of Rc is much bigger than the content of the register, whatever large this content could be.

We have three different cases: the general case, when the content cc of the register is large enough, then when c=2c=2, when c=1c=1 and, not at all the least, when c=0c=0. By large enough we mean that the detection of the first blue cell on Rc happens on a cell which cannot be seen by Rc(0). We also require a bit more: that all possible motion rules of the locomotive could be tested on that white portion of the register. The case c=2c=2 is particular as the detection of the first blue cell can be seen from Rc(0). For the same reason, c=1c=1 is a particular cell. For what is c=0c=0, it is the case when the decrementation cannot be performed which, of course, requires a special treatment. The general principle is depicted by (9).

R W W W B B BW R W W B B BW W R W B B BW W W G B B BW W W B B B BW W W B B B BW W W B B B B (9)    In all cases, the locomotive arrives to the register through a path arriving to Rc(-2)b through the face 5. That cell, whose decoration is given in Table 7, transforms the arriving blue locomotive into a red one, see again that table. Leaving the cell trough the face 2 of Rc(-2)c, the locomotive enters Rc(-1) through the face 4 of that latter cell as far as its face 5 is devoted to the locomotive coming for an incrementation. Consequently, Rc(-1) pushes the red locomotive through its face 2 into Rc(0). The locomotive goes on the strand Rc until a cell ν\nu which is blank such that Rc(μ\mu) with μν\mu\leq\nu is blank while Rc(μ)\mu) is blue for μ>ν\mu>\nu+1. When this happens, say at time tt, at time tt+1 Rc(ν\nu) becomes G which is the signal of decrementation. Of course, we could have chosen another signal. However, B is clearly ruled out. In order to avoid confusion, R is also ruled out. We remain with Y. But a different colour is needed for incrementation. So that I choose G for the decrementation. As (9) shows, the scenario is simple: G takes the place of a new blue cell which will by 1 reduce the value stored in the register. Now, with G we have the phenomenon of a lot of cells becoming blue at the next time.

Let us carefully look at that point. At time tt, rule 145 is applied to Rc(ν\nu) which become G. It remains G in order to get rid of the B-cells created among the neighbours of Rc(ν\nu). The neighbours of that cell belonging to other strands are ruled out: neighbours 0 and 1 but also neighbour 2 as it can see a blue cell. Neighbour 5 is white but that neighbour can see Ri(ν\nu-1) which is red, so that neighbour 5 remains W. The decoration of the previous and the next cell on the strand prevent neighbours 4 and 6 to become blue, so that they remain W. Neighbour 3 which is B can see a blue neighbour of Ri(ν)\nu) and it can see G, of course, so that rule 123 applies to that cell, allowing the decoration to remain unchanged. A similar argument holds for neighbour 7 which can see the blue neighbour 6 of Rd(ν\nu). Rule 124 applies to the following B-neighbours of Rc(ν\nu): 7, 8, 9, 10 and 11. Accordingly, at time tt+1, rules 123 and 124 apply so that the decoration remains B and the B-cells created at time tt+1 return to W at time tt+2: it is the desired goal. Also, at time tt+2, the G-cell turns to B which performs the decrementation.

Table 8
The rules for the decrementation in all the cases. the general case and case c=2c=2 Rc 145 W.RYBBWR WBWWWW.G 146 W.RYGBWW WBWWWW.W 147 B.RYBBWG WBWWWW.B 148 G.RYBBWW WBWWWW.G 149 G.RRBBWW WBBBBB.B 150 W.RRBBWW WBWWWW.W 151 W.RRWBWW WBWWWW.W 152 W.RRWBWW WBWBWW.W the other strands 153 Y.BGYWBY BWWWWW.R 154 R.BGYWBY BWWWWW.Y 155 Y.BBRWBY BWWWWW.Y 156 R.GBRWBR BWWWWW.R 157 B.RRBBWB WBWWWW.B 158 B.RRBBWW WBWBWW.B case c=2c=2 159 W.RYGBWW WBWBWW.W 160 W.RRBBWW WBWBWW.W the cases c=1c=1 and c=0c=0 case c=1c=1 161 W.RYBBWR WBWBWW.G 162 G.RYBBWW WBWBWW.G 163 G.RRBBWW BBBBBB.B 164 B.RYBBWW WBWBWW.B 165 W.WWGWWW YWWYYW.W 166 Y.BGWWBY BWWRWR.R 167 R.BGWWBY BWWRWR.Y 168 Y.BBWWBY BWWRWR.Y 169 Y.BBRWBY BWWRWR.Y 170 R.GBWWBR BWWBWW.R 171 R.BBWWBR BWWBWW.R case c=0c=0 Rc(0) 172 B.RYBBWG WBWBWW.B Rc(-1) 173 W.WWBWRW YWWYYW.G 174 G.WWBWWW YWWYYW.G 175 G.WWBBWW YWBYYB.W 176 W.WWBWWW YWWYYW.W Rc(-2)b 177 W.WWWWGW WWYYWY.B 178 B.WWWWGW WWYYWY.W 179 W.WWWWBW WWYYWY.W case c=0c=0 Rd(-1) 180 W.WGWWWY YWWYRW.W Ri(-1) 181 W.GWWWWR RWWRYW.W Rc(-2) 182 W.WWGWWW BWWBBW.W Rc(-2)a 183 W.WWGWWW RBWRRW.W Table 8 gives the rules for the decrementation in the general case and when c=2c=2. In the general case, rules 145 up to 152 deal with Rc: rule 145 depicts the situation which triggers the appearance of the G-cell at R(ν)c{}_{c}(\nu). Rule 146, 147 indicates that the cells R(νc{}_{c}(\nu-1)1) and R(νc{}_{c}(\nu+1)1) respectively keep their state, W and B respectively. Rule 148 indicates that G- remains for one more time and rule 148 makes it return to B indicating at the same times which faces are covered with B-neighbours. Rule 149 concerns R(νc{}_{c}(\nu-1)1) which can see the appearance of a red locomotive on Rd. Rule 151 concerns a white cell of Rc seeing the red locomotive on Rd. Rule 152 does the same for Rc(0) as witnessed by its decoration.

Rule 153 up to 158 manage the reaction of the cells of the other strands at the appearance of G and, also of the red locomotive on Rd. Rules 153 up to 155 manage the motion of the locomotive on Rd. Rule 156, 157 say that Ri, Rs respectively witness only what happens on Rc. Rule 158 deals with Rs(0) seeing the locomotive about to leave Rd.

Two additional rules only are needed when c=2c=2. As indicated by the WBWW suffix of the neighbourhoods in the rules, they deal with Rc(0) which can see the appearance of G at Rc(1). Rule 160 says that the red locomotive of Rd can be seen from Rc(0). Rules 161 up to 164 manage Rc(0) and Rc(1), while rule 165 manage Rc(-1), saying that the cell does not react to the occurrence of G in Rc(0).

Rules 166 up to 169 deal with Rd giving motion rules for Rd(-1). Rules 170 and 171 say that Ri(0) remains unchanged at that time.

At last, in the case c=0c=0, G occurs in Rc(-1) so that, rule 172 says that Rc(0) can witness that event. It is the single cell of the strands of the register which is touched by the operation. The fact that the decrementation could not be performed requires two facts: first, no locomotive is triggered on Rd, which is indicated by rule 180. Secondly, a locomotive must be sent on the ZZ-path which precisely starts from Rc(-2)c to which rules 173 up to 179 are devoted: rules 173 up to 176 manage the occurrence of G in Rc(-1). Rule 177 says that seeing G in Rc(-1), Rc(-2)b triggers a blue locomotive, and rules 178 together with rule 179 launch the locomotive on the Z-path. Note that, in principle, rule 179 indicates that the cell can see the B-neighbour through its face 4, which is the case when a blue locomotive passes through Rc(-1), a situation which occurs for an incrementing locomotive. But rule 179 and the expected rule (ρ)(\rho) W.WWBWWW WWYYWY.W have the same minimal form W.WWWWWW WBWYYY.W . The rotation around the vertices 0-1-2 and 9-10-11 we already met transforms rule 179 into that minimal form while the rotation around faces 4 and 7 transforms (ρ)(\rho) into the same minimal form.

The other rules about 𝒮\mathcal{S}(-1) say that the corresponding cell do not react to the occurrence of G in Rc(-1). In particular, rule 180, Rd(-1) remains W when it sees G on Rc(-1). Rule 181 deals with Ri(-1). Rule 182 says that the path arriving to Rc(-1) from 𝔻I{\mathbb{D}}_{I} does not react and Rule 183 says the same for the path arriving to Rc(-1) from 𝔻D{\mathbb{D}}_{D}.

In the Appendix, we give traces of execution for the decrementation, in the general case, see Table 11, and in the particular case, when c=2c=2, when c=1c=1 and when c=0c=0, see Table 12.

4.4.5 Incrementation of the register

Presently, we arrive to the implementation of an incrementation of the register. The incrementation as well as the decrementation are performed on Rc as far as its content cc is concerned. We remind the reader that the decrementing path arrives through Rc(-2)b which is seen by Rc(-1) through its face 4. That makes a difference for Rc(-1) so that the blue locomotive remains blue when it enters the register on the Rc strand.

Here too, we shall follow a general pattern as long as it will be possible. It is given by (10) where the same convention as in (9) are followed. We shall see that, in the case of incrementations, the execution is more faithful to the scheme of (10) that the execution of decrementations with respect to (9). The reason is the use of Y instead of G and, mainly, to the reason that the case c=0c=0 is not really exceptional: the content is actually incremented in that case too. 0 W B W W W B B B1 W W B W W B B B2 W W W B W B B B3 W W W W Y B B B4 W W W W Y R B B5 W W W W W W B B6 W W W W W W B B (10)    However, the arrival of the locomotive is different: the path coming from the 𝔻I{\mathbb{D}}_{I} devoted to the register arrives at Rc(-2)a which can see Rc(-1) through its face 2 while it seen from that latter cell from its face 5.

Table 9
Rules for the incrementation. General case and then particular cases when the content cc is in {0,1,2}\{0,1,2\}. general case 184 W.WWWWWB YWWYYW.B 185 B.WWWWWW YWWYYW.W 186 W.BWWWWR RWWRYW.W 187 W.WBWWWY YWWYRW.W 188 W.WWWWBW WWYYWY.W 189 B.RYWBWW WBWBWW.W 190 W.BYWBWW WBWBWW.W 191 W.RYBBWB WBWWWW.Y 192 Y.RYBBWW WBWWWW.Y 193 W.RYYBWW WBWWWW.W 194 B.RYBBWY WBWWWW.R 195 R.YBRWBR BWWWWW.B 196 R.RYBBWY WBWWWW.W 197 Y.BYRBWW WBWWWW.W 198 B.RYBBWR WBWWWW.B 199 W.BYWBWW WBWWWW.W 200 Y.BYYWBY BWWWWW.Y 201 B.YBBBWB WBWWWW.B 202 B.YBRWBR BWWWWW.R 203 R.RBBWBR BWWWWW.R 204 B.YBBBWW WBWBWW.B 205 W.WWWWWB RWWRYW.B 206 B.WWWWWR RWWRYW.W 207 W.WWBWWR RWWRYW.W 208 W.BWWWWW YWWYYW.W 209 W.WBBWWW RBWRRW.W cases c=2c=2, c=1c=1 and c=0c=0 c=2c=2 210 W.RYYBWW WBWBWW.W c=1c=1 211 W.RYBBWB WBWBWW.Y 212 Y.RYBBWW WBWBWW.Y 213 R.YBWWBR BWWBWW.B 214 B.YBWWBR BWWBWW.R 215 Y.BYRBWW WBWBWW.W 216 W.WWYWWW YWWYYW.W 217 Y.BYWWBY BWWRWR.Y c=0c=0 218 W.WWBWWB YWWYYW.Y 219 Y.WWBWWW YWWYYW.Y 220 B.RYBBWY WBWBWW.R 221 Y.BWRWWW YWWYYW.W 222 R.RYBBWY WBWBWW.W 223 W.YWWWWR RWWRYW.B 224 B.YWWWWR RWWRYW.W 225 W.WYWWWY YWWYRW.W 226 R.RBBWBR BWWBWW.R 227 W.WWWWYW WWYYWY.W 228 W.WWYWWW RBWRRW.W In the part of Table 9 devoted to the general case, the rules up to 198 deal with the arrival of the locomotive to the register and to the incrementation itself. Starting from rule 199, they deal with the locomotive which occurs on Ri, the return path of the locomotive after performing the incrementation.

Table 4 gives the rule for the motion of a blue locomotive in the W-part of Rc. But before arriving at Rc(0), the locomotive must cross Rc(-1). Rules 184, 185 and 132 in Table 9 allow the locomotive to do it. Of course, Ri(-1), Rd(-1) witness that passage of the locomotive, whence rules 186, 187 respectively. Also Rc(-2)b witnesses the same passage, which is the role of rule 188.

In the white part of Rc, rules 189 and 190 complete the rules of Table 4, so that we arrive at rule 191 which shows us the blank cell of Rc which can see the first B-cell of the register on front of it and, behind it, the blue locomotive. At that moment, rule 191 tells us that W is replaced by Y, the signal of the incrementation. Rule 192 keeps Y for one more step. In the mean while, rule 193 show us that the W-cell which is behind Y remains W and rule 194 shows us that the B-cell in front of Y becomes R: it is the preparation of the incrementation. Rule 195 shows us that the locomotive is triggered on Ri when Y is seen. Rules 196 and 197 apply to the pattern YR which becomes WW performing the incrementation in that simple way. Rule 198 tells us that the occurrence of R does not affect the B-cell which is in front of it.

As already mentioned, starting from rule 199, the rules are devoted to the motion of the locomotive on Ri. The locomotive goes towards Ri(-1) through rules 86 to 92 of Table 4, the rules 90 to 92 dealing specifically with Ri(0). Note that Y was triggered on the W-part of Rc so that the motion of the returning locomotive is seen by the W-part of Rc. Rule 199 tells us that in that case, the W-cell is simply a witness. Rule 200 says that Rd did not react to the Y-signal on Rc. Note that Rs which cannot see Rc can however see Ri, in particular the locomotive triggered on that strand by the signal Y on Rc. Rule 201 says that Rs remains unchanged. Rules 202 and 203 indicate the reaction of Ri to the pattern YR present on Rc. The first occurrence of Y raised a locomotive on Ri, rule 195 as already mentioned, but the second time of the presence of Y, at that time accompanied by R makes the locomotive advance towards Ri(0) while rule 203 says that Ri remains unchanged by the occurrence of R on Rc. Rule 204 says that Rs(0) too is not affected by the presence of the locomotive in Ri(0).

Rules 205 up to 207 manage the motion of the leaving locomotive through Ri(-1). Rules 208, 209 say that the occurrence of the locomotive in Ri(-1) does not affect Rc(-1) nor Rd(-1) respectively.

In the part of Table 9 devoted to the particular case when c2c\leq 2, we can see for c=2c=2 the single rule 210 which indicates that Rc(0) can see Y in Rc(1). Note that Rc(0) cannot see Rc(2) and as far as nothing happens on Rc(\ell) when 0<20\leq\ell<2 and as far the rules for the locomotive on Ri are the same as in the general case, no other rule is needed for that case.

The situation is different for c=1c=1 and for c=0c=0 as far as Y occurs in Rc(0) for c=1c=1 and in Rc(-1) for c=0c=0.

When c=1c=1, Y is triggered in Rc(0): rule 211. Rule 212 keeps Y for one more step while rule 213 triggers the returning locomotive in Ri(0). Rule 214 allows Ri to recover its idle configuration as far as the locomotive is leaving Ri(0). The remaining rules, 216 and 217 tell us that Rc(-1) and Rd(0) respectively are not changed by the occurrence of Y in Ri(0).

The rules when c=0c=0 essentially deal with Rc(-1) and 𝒮\mathcal{S}(0) for all strands, Rs being excepted as far as it cannot see what happens on Rc and as far as Ri and Rd are unchanged in the case when c=0c=0. Rules 218 and 219 trigger Y in Rc(-1) and keep it for two steps. In those rules, we notice that Rc(-1) can see B in Rc(0), the translation onto Rc that c=0c=0. Rule 220 says that B in Rc(0) can see Y behind it so that it becomes R. Rules 221 and 222 transform the pattern YR into WW which performs the incrementation: Rc(0) is W while Rc(1) remains B. Rule 223 triggers the locomotive in Ri(-1) as it can see the first occurrence of  Y in Rc(-1). Rule 224 says that the second occurrence makes the locomotive completely leave Ri(-1). Rule 225 says that Rd(-1) is not affected by what happens on Ri(-1). The remaining rules, 226 up to 228 say that Ri(0) and Rc(-2)c together with Rc(-2)b are no more affected by what they can see: the occurrence of R in Rc(0), the occurrence of Y in Rc(-1) for Rc(-2)c and Rc(-2)b respectively.

4.5 Stopping the computation

We arrive to the last Subsection of the present section. It is not the least important as far as it deals with the end of the computation. We remind the reader that, by definition, the computation of a cellular automaton has no halting state. In fact, it is usually considered that when two successive configurations are identical, it should be considered as the end of the computation. Indeed, nothing new can appear in a configuration which is constantly repeated cell by cell. Consequently, stopping the computation will consist in realizing a configuration which is endlessly identically repeated. Moreover, such a situation is algorithmically detectable.

We noted that, outside the simulation of the register machine, we decided to construct the register according a potentially non stopping process. It was the growth of the register as defined in Sub-subsection 4.4.2. In that Sub-subsection, we underlined that the speed of the construction was 12\displaystyle{1\over 2}: it needs two tips of the clock in order to advance the G-cells of the register by one step forward. It is enough for stopping the computation. When the locomotive arrives to the halting instruction of the register machine, the implementation of that instruction consists in sending a locomotive to all Rs of all registers of the simulated register machine. If we have nn registers, kk forks will allow us to do that where 2k1<n2k2^{k-1}<n\leq 2^{k}. The locomotive arrives at Rs at some time tt. We may assume that tt is the same for all registers. At time tt, the G-cells are at some distance LL from Rs(0). As far as one step forward of the G-cells requires two tips of the clock, if the locomotive in Rs advances at speed 1, it reaches the G-cells at time tt+2L2L. Taking for LL the biggest one for all registers, we can then compute the time at which the computation of the automaton halts when we know the time of the halting of the register machine. If that latter one does not halt, no signal is sent to any Rs so that in that case, the registers are endlessly growing.

Table 10 gives the rule for stopping the computation. Rule 229 gives the signal of the process which will lead to the destruction of the G-block of four G-cells which allows the register to grow. It is interesting to note that all rules of Table 10 have W as the new state. It is clearly the destruction mark. The process followed by the rules can be schematised by the figure of (11). The idea behind the principle is that G can advance thanks to the covering by B and the transformation of B into G for those who share a side with the line \ell. The process for advancing the strands is disturbed by the erasing of one G and much more when other G-cells are destroyed.

B R B B G W W W WB B R B G B W W WB B B W B G W W WB B B W W G B W WB B B W W W G W WB B B W W W W B W (11)   

Table 10
Rules for stopping the computation. 229 B.YRGBWR WBWWWW.W 230 R.BWRWBR BWWWWW.W 231 Y.WBYWBY BWWWWW.W 232 W.YRBBWB WBWWWW.W 233 B.YRGBWW WBWWWW.W 234 R.BWWWBG BWWWWW.W 235 Y.WBWWBG BWWWWW.W 236 W.BWRWBR BWWWWW.W 237 W.WBYWBY BWWWWW.W 238 B.WWBBWB WBWWWW.W 239 W.WWWWBW BWBWWW.W 240 W.YRGBWW WBWWWW.W 241 G.GGWWWW WWWWWW.W 242 G.GGBBWW WBBBBB.W 243 W.BWWWBR BWWWWW.W 244 W.WBWWBY BWWWWW.W 245 W.WWRWBW BWWWWW.W 246 W.WWYWBW BWWWWW.W 247 W.WWWBWW WBWWWW.W 248 B.WWGBWW WBWWWW.W 249 W.BWWWBG BWWWWW.W 250 G.GWWWBB BWBBBB.W 251 G.WGWWBB BWBBBB.W 252 W.GGBBWW WBBBBB.W 253 G.GBWWWW WWWWWW.W 254 W.WWBBWW WBBBBB.W 255 B.GGWWWW WWWWWW.W 256 W.WWGBWW WBWWWW.W 257 G.WWBBWW WBBBBB.W 258 W.GWWWBB BWBBBB.W 259 W.WGWWBB BWBBBB.W 260 W.WWWBWW WBBBBB.W 261 G.BBWWWW WWWWWW.W When the W on Rs is close to G, it is seen by a cell of Ri and Rd which both can see Rc. Accordingly, the W signal which occurred on Rs is transported onto Ri and Rd by rules 230 and 231 respectively. Rule 232 confirms the occurrence of that W-cell. In the meanwhile, G advanced a bit so that now, on Rs, there is a B-cell in between the created W and G. Rule 233 says that the considered B becomes W. The W-cells go on propagating on Ri, rules 234 and 236, and on Rd, rules 235 and 237. Those cells also propagate on Rs, rule 238. Rules 239 and 240 confirm a created W as a permanent one.

Rules 241 and 242 are the first rules which change the G-state of a cell into an W-one. Note that in both rules the cell under the G-state can see two neighbours in the G-state. Rules 115 up to 117 which keep the G-state require the occurrence of two G-neighbours but also, on the same strand of a non-blank cell of the strand. Rules 241 and 242 indicate the occurrence of a W-neighbour through face 5 which is the case on Rs. Before looking further, let us go back to (11). We can see that W appears behind G when we have the pattern BGW on the strand. As shown on (12), it may also appear by one step sooner and we have the pattern BGBW. B R B B G W W W W         R B B B G W W W W W B B R B G B W W W         B R B B G B W W W W B B B W B G W W W         B B R B B G W W W W B B B W W G B W W         B B B R B G B W W W B B B W W W G W W         B B B B W B G W W W B B B W W W W B W         B B B B W W G B W W B B B W W W W W W         B B B B W W W G W W B B B W W W W W W         B B B B W W W W B W B B B W W W W W W         B B B B W W W W W W (12)    As shown on (12), when it is the case, we have an occurrence of the pattern WGW which occurs three steps later.

Rules 244 and 245 keep the created W-cells on Ri and on Rd respectively. Rule 246 and 247 also keep an W-state on Rd and on Rs respectively. Rule 249 replaces an B-state by W on Rs where we have the pattern WBG on the strand. Rule 249 again keep the W-state on both Ri and Rd.

In rules 250 and 251,we have a G-cell on Ri and Rd respectively which can see a single G-cell on Rc: on Rs there is no G-cell at that place. The rules say that in such a case, G becomes W. That situation occurs as far as the propagation of the W-cell on whichever strand happens at speed 1. When that situation occurs, it remains a G-cell on Rc only which will also be soon converted into an W-cell. When a B-cell at the end of the strand is erased by reaching W, that B-cell can no more contribute to the creation of a G-cell at the end of the configuration.

However, as proved by the traces of execution as will soon be seen, several B-cells are created which are never turned to W. That does not change the conclusion: they belong to a configuration which is endlessly repeated step by step.

Consider the time tt when we reach the configuration WGW or WGBW at the end of the non-blank part of Rs. At that time rule 240 applies to the W-cell before G and rule 241 or rule 242 applies to G. But, at the same time, rule 118 applies to many neighbours of G, namely neighbours 2, 3, 7, 8, 9, 10 and 11. When G changes to B, its G-neighbours turn to W, neighbours 3 and 7 being excepted. When G changes to W, the rule 124 which allowed some B-neighbours to turn to W no more applies so that, in that case, rule 40 applies which keeps a B-cell when all its neighbours are blank. Accordingly, the end of the computation is accompanied by a kind of cloud of isolated B-cells. Those cells remain for ever and their number no more increases when the last G-cell on a strand is turned to W.

Rules 252 up to 262 deal with that question and they were found with the help of the simulating computer program. Table 15 gives the traces of execution of the rules of Table 10 in the case where the B-cell before the G-cell on Rs becomes W at a moment when the end of the computation has the pattern BGW.

That last point completes the proof of Theorem 1. \Box

5 Conclusion

There are 258 rules which are rotationally pairwise independent. The tables indicate 262 rules which are rotationally pairwise independent but a few rules among rules 1 up to 39 are not used in the computation as far as the configuration they imply does not occur. As an example, rule 18 is never used as far as the configuration of white cells neighbouring a G-cell has never three G-neighbours. It has a single G-neighbour together, sometimes, with another non-blank neighbour, B, R or Y.

We said that the rotation invariance is a huge constraint. If we restrict the test to a set of generators of the whole group R of the rotations leaving the dodecahedron globally invariant, the minimum reached by the generators is bigger than that obtained by the whole group for many rules. It was checked by the computer program. And so, the argument based on the strength of the constraint raised by the requirement of rotation invariance is sound.

It should be mentioned that the solution given in the paper is not unique. There could be a permutation in the role of the colours. Perhaps, the registers could be organized somehow differently. The true question is: is it still possible to obtain strong universality with less states? I do not know presently how to do. That does not mean, of course, that it would be impossible. Even with five states it could be possible to devise a simpler solution. It might also be possible to reduce the number of independent rules. However, it is more interesting to reduce the number of states. Experience shows that such a reduction requires to change something in the model. Indeed, the present result avoided several structures used in planar simulations. So, to change something in the model is the way. To change what exactly? That is the question.

References

  • [1] F. Herrmann, M. Margenstern, A universal cellular automaton in the hyperbolic plane, Theoretical Computer Science, 296, (2003), 327-364.
  • [2] M. Margenstern, Cellular Automata in Hyperbolic Spaces, vol. 11, Theory, Collection: Advances in Unconventional Computing and Cellular Automata, Editor: Andrew Adamatzky, Old City Publishing, Philadelphia, (2007), 422p.
  • [3] M. Margenstern, Cellular Automata in Hyperbolic Spaces, vol. 22, Implementations and Computations, Collection: Advances in Unconventional Computing and Cellular Automata, Editor: Andrew Adamatzky, Old City Publishing, Philadelphia, (2008), 360p.
  • [4] M. Margenstern, An Upper Bound on the Number of States for a Strongly Universal Hyperbolic Cellular Automaton on the Pentagrid, JAC2010 Turku, Finland, (2010), Proceedings, Turku Center for Computer Science, 168-179.
  • [5] M. Margenstern, A weakly universal cellular automaton in the hyperbolic 3D3Dspace with three states, arXiv:1002.4290v1, (2010), 54pp.
  • [6] M. Margenstern, Small Universal Cellular Automata in Hyperbolic Spaces: A Collection of Jewels, Springer Verlag, (2013), 331p.
  • [7] M. Margenstern, A Weakly Universal Cellular Automaton in the Pentagrid with Five States, Lecture Notes in Computer Science, C.S. Calude et al. (Eds.): Gruska’s Festschrift, 8808, (2014), 99-113.
  • [8] M. Margenstern, A weakly universal cellular automaton in the heptagrid with three states, arXiv:1410.1864v1, (2014), 27p.
  • [9] M. Margenstern, A Weakly Universal Cellular Automaton in the Heptagrid of the Hyperbolic Plane, Complex Systems, 27(4), (2018), 315-354.
  • [10] M. Margenstern, A strongly universal cellular automaton on the heptagrid with seven states, arXiv:2102.04292v1, (2021), 43p.
  • [11] M. Margenstern, A Strongly Universal Cellular Automaton on the Heptagrid with Seven States, Journal of Cellular Automata, to appear.
  • [12] M. Margenstern, Y. Song, A new universal cellular automaton on the pentagrid, Parallel Processing Letters, 19(2), (2009), 227-246.
  • [13] M. L. Minsky, Computation: Finite and Infinite Machines, Prentice Hall, Englewood Cliffs, NJ, 1967.
  • [14] I. Stewart, A Subway Named Turing, Mathematical Recreations in Scientific American, (1994), 90-92.

Appendix

Table 11
Traces of execution of the rules of Table 8: decrementation of a register in the general case. 0      + - - - - + - - - - + c      W W W W W W W W B B B d      W W W Y Y Y Y Y Y Y Y p      B W W W W W W W W W W 1      + - - - - + - - - - + c      W W W W W W W W B B B d      W W W Y Y Y Y Y Y Y Y p      W B W W W W W W W W W 2      + - - - - + - - - - + c      W W W W W W W W B B B d      W W W Y Y Y Y Y Y Y Y p      W W B W W W W W W W W 3      + - - - - + - - - - + c      W W W W W W W W B B B d      W W W Y Y Y Y Y Y Y Y p      W W W R W W W W W W W 4      + - - - - + - - - - + c      W W R W W W W W B B B d      W W W Y Y Y Y Y Y Y Y p      W W W W W W W W W W W 5      + - - - - + - - - - + c      W W W R W W W W B B B d      W W W Y Y Y Y Y Y Y Y p      W W W W W W W W W W W 6      + - - - - + - - - - + c      W W W W R W W W B B B d      W W W Y Y Y Y Y Y Y Y p      W W W W W W W W W W W 7      + - - - - + - - - - + c      W W W W W R W W B B B d      W W W Y Y Y Y Y Y Y Y p      W W W W W W W W W W W 8      + - - - - + - - - - + c      W W W W W W R W B B B d      W W W Y Y Y Y Y Y Y Y p      W W W W W W W W W W W 9      + - - - - + - - - - + c      W W W W W W R W B B B d      W W W Y Y Y Y Y Y Y Y p      W W W W W W W W W W W 10      + - - - - + - - - - + c      W W W W W W W G B B B d      W W W Y Y Y Y Y Y Y Y p      W W W W W W W W W W W 11      + - - - - + - - - - + c      W W W W W W W G B B B d      W W W Y Y Y Y R Y Y Y p      W W W W W W W W W W W 12      + - - - - + - - - - + c      W W W W W W W B B B B d      W W W Y Y Y R Y Y Y Y p      W W W W W W W W W W W 13      + - - - - + - - - - + c      W W W W W W W B B B B d      W W W Y Y R Y Y Y Y Y p      W W W W W W W W W W W 14      + - - - - + - - - - + c      W W W W W W W B B B B d      W W W Y R Y Y Y Y Y Y p      W W W W W W W W W W W 15      + - - - - + - - - - + c      W W W W W W W B B B B d      W W W R Y Y Y Y Y Y Y p      W W W W W W W W W W W 16      + - - - - + - - - - + c      W W W W W W W B B B B d      W W R Y Y Y Y Y Y Y Y p      W W W W W W W W W W W 17      + - - - - + - - - - + c      W W W W W W W B B B B d      W B W Y Y Y Y Y Y Y Y p      W W W W W W W W W W W 18      + - - - - + - - - - + c      W W W W W W W B B B B d      B W W Y Y Y Y Y Y Y Y p      W W W W W W W W W W W

Table 12
Traces of execution of the rules of Table 8 in the particular cases of decrementation, when c{0,1,2}c\in\{0,1,2\} c=2c=2 0      + - - - - + - - - c      W W W W W B B B B d      W W W Y Y Y Y Y Y p      B W W W W W W W W 1      + - - - - + - - - c      W W W W W B B B B d      W W W Y Y Y Y Y Y p      W B W W W W W W W 2      + - - - - + - - - c      W W W W W B B B B d      W W W Y Y Y Y Y Y p      W W B W W W W W W 3      + - - - - + - - - c      W W W W W B B B B d      W W W Y Y Y Y Y Y p      W W W R W W W W W 4      + - - - - + - - - c      W W R W W B B B B d      W W W Y Y Y Y Y Y p      W W W W W W W W W 5      + - - - - + - - - c      W W W R W B B B B d      W W W Y Y Y Y Y Y p      W W W W W W W W W 6      + - - - - + - - - c      W W W W G B B B B d      W W W Y Y Y Y Y Y p      W W W W W W W W W 7      + - - - - + - - - c      W W W W G B B B B d      W W W Y R Y Y Y Y p      W W W W W W W W W 8      + - - - - + - - - c      W W W W B B B B B d      W W W R Y Y Y Y Y p      W W W W W W W W W 9      + - - - - + - - - c      W W W W B B B B B d      W W R Y Y Y Y Y Y p      W W W W W W W W W 10      + - - - - + - - - c      W W W W B B B B B d      W B W Y Y Y Y Y Y p      W W W W W W W W W 11      + - - - - + - - - c      W W W W B B B B B d      B W W Y Y Y Y Y Y p      W W W W W W W W W decrementation when c=1c=1 0      + - - - - + - - c      W W W W B B B B d      W W W Y Y Y Y Y p      B W W W W W W W 1      + - - - - + - - c      W W W W B B B B d      W W W Y Y Y Y Y p      W B W W W W W W 2      + - - - - + - - c      W W W W B B B B d      W W W Y Y Y Y Y p      W W B W W W W W 3      + - - - - + - - c      W W W W B B B B d      W W W Y Y Y Y Y p      W W W R W W W W 4      + - - - - + - - c      W W R W B B B B d      W W W Y Y Y Y Y p      W W W W W W W W 5      + - - - - + - - c      W W W G B B B B d      W W W Y Y Y Y Y p      W W W W W W W W 6      + - - - - + - - c      W W W G B B B B d      W W W R Y Y Y Y p      W W W W W W W W 7      + - - - - + - - c      W W W B B B B B d      W W R Y Y Y Y Y p      W W W W W W W W 8      + - - - - + - - c      W W W B B B B B d      W B W Y Y Y Y Y p      W W W W W W W W 8      + - - - - + - - c      W W W B B B B B d      B W W Y Y Y Y Y p      W W W W W W W W decrementation when c=0c=0 0      + - - - - + - c      W W W B B B B d      W W W Y Y Y Y p      B W W W W W W 1      + - - - - + - c      W W W B B B B d      W W W Y Y Y Y p      W B W W W W W 2      + - - - - + - c      W W W B B B B d      W W W Y Y Y Y p      W W B W W W W 3      + - - - - + - c      W W W B B B B d      W W W Y Y Y Y p      W W W R W W W 4      + - - - - + - c      W W G B B B B d      W W W Y Y Y Y p      W W W W W W W 5      + - - - - + - c      W W G B B B B d      W W W Y Y Y Y p      W W W W W W B 6      + - - - - + - c      W W W B B B B d      W W W Y Y Y Y p      W W W W W B W 7      + - - - - + - c      W W W B B B B d      W W W Y Y Y Y p      W W W W B W W
Table 13
Traces of execution of the rules of Table 9: incrementation of a register in the general case.
0      + - - - - + - - - - + c      B W W W W W W W B B B i      W W W R R R R R R R R 1      + - - - - + - - - - + c      W B W W W W W W B B B i      W W W R R R R R R R R 2      + - - - - + - - - - + c      W W B W W W W W B B B i      W W W R R R R R R R R 3      + - - - - + - - - - + c      W W W B W W W W B B B i      W W W R R R R R R R R 4      + - - - - + - - - - + c      W W W W B W W W B B B i      W W W R R R R R R R R 5      + - - - - + - - - - + c      W W W W W B W W B B B i      W W W R R R R R R R R 6      + - - - - + - - - - + c      W W W W W W B W B B B i      W W W R R R R R R R R 7      + - - - - + - - - - + c      W W W W W W W Y B B B i      W W W R R R R R R R R 8      + - - - - + - - - - + c      W W W W W W W Y R B B i      W W W R R R R B R R R 9      + - - - - + - - - - + c      W W W W W W W W W B B i      W W W R R R B R R R R 10      + - - - - + - - - - + c      W W W W W W W W W B B i      W W W R R B R R R R R 11      + - - - - + - - - - + c      W W W W W W W W W B B i      W W W R B R R R R R R 12      + - - - - + - - - - + c      W W W W W W W W W B B i      W W W B R R R R R R R 13      + - - - - + - - - - + c      W W W W W W W W W B B i      W W B R R R R R R R R 14      + - - - - + - - - - + c      W W W W W W W W W B B i      W B W R R R R R R R R 15      + - - - - + - - - - + c      W W W W W W W W W B B i      B W W R R R R R R R R

Table 14
Traces of execution of the rules of Table 9 in the particular cases of incrementation, when c{0,1,2}c\in\{0,1,2\} c=2c=2 0      + - - - - + - - - c      B W W W W B B B B d      W W W R R R R R R 1      + - - - - + - - - c      W B W W W B B B B d      W W W R R R R R R 2      + - - - - + - - - c      W W B W W B B B B d      W W W R R R R R R 3      + - - - - + - - - c      W W W B W B B B B d      W W W R R R R R R 4      + - - - - + - - - c      W W W W Y B B B B d      W W W R R R R R R 5      + - - - - + - - - c      W W W W Y R B B B d      W W W R B R R R R 6      + - - - - + - - - c      W W W W W W B B B d      W W W B R R R R R 7      + - - - - + - - - c      W W W W W W B B B d      W W B R R R R R R 8      + - - - - + - - - c      W W W W W W B B B d      W B W R R R R R R 9      + - - - - + - - - c      W W W W W W B B B d      B W W R R R R R R c=1c=1 0      + - - - - + - - c      B W W W B B B B d      W W W R R R R R 1      + - - - - + - - c      W B W W B B B B d      W W W R R R R R 2      + - - - - + - - c      W W B W B B B B d      W W W R R R R R 3      + - - - - + - - c      W W W Y B B B B d      W W W R R R R R c=1c=1 4      + - - - - + - - c      W W W Y R B B B d      W W W B R R R R 5      + - - - - + - - c      W W W W W B B B d      W W B R R R R R 6      + - - - - + - - c      W W W W W B B B d      W B W R R R R R 7      + - - - - + - - c      W W W W W B B B d      B W W R R R R R c=0c=0 0      + - - - - + - c      B W W B B B B d      W W W R R R R 1      + - - - - + - c      W B W B B B B d      W W W R R R R 2      + - - - - + - c      W W Y B B B B d      W W W R R R R 3      + - - - - + - c      W W Y R B B B d      W W B R R R R 4      + - - - - + - c      W W W W B B B d      W B W R R R R 5      + - - - - + - c      W W W W B B B d      B W W R R R R

Table 15
Traces of execution of the rules of Table 10. 0      + - - - - + - - - - + c      B B B B G W W W W W W i      R R R R G W W W W W W d      Y Y Y Y G W W W W W W s      R B B B G W W W W W W 1      + - - - - + - - - - + c      B B B B G B W W W W W i      R R R R G B W W W W W d      Y Y Y Y G B W W W W W s      B R B B G B W W W W W 2      + - - - - + - - - - + c      B B B B B G W W W W W i      R R R R R G W W W W W d      Y Y Y Y Y G W W W W W s      B B R B B G W W W W W 3      + - - - - + - - - - + c      B B B B B G B W W W W i      R R R R R G B W W W W d      Y Y Y Y Y G B W W W W s      B B B R B G B W W W W 4      + - - - - + - - - - + c      B B B B B B G W W W W i      R R R R R R G W W W W d      Y Y Y Y Y Y G W W W W s      B B B B W B G W W W W 5      + - - - - + - - - - + c      B B B B B B G B W W W i      R R R R W R G B W W W d      Y Y Y Y W Y G B W W W s      B B B B W W G B W W W 6      + - - - - + - - - - + c      B B B B W B B G W W W i      R R R R W W R G W W W d      Y Y Y Y W W Y G W W W s      B B B B W W W G W W W        7      + - - - - + - - - - + c      B B B B W W B G B W W i      R R R R W W W G B W W d      Y Y Y Y W W W G B W W s      B B B B W W W W B W W 8      + - - - - + - - - - + c      B B B B W W W B G W W i      R R R R W W W W G W W d      Y Y Y Y W W W W G W W s      B B B B W W W W B W W 9      + - - - - + - - - - + c      B B B B W W W W G B W i      R R R R W W W W W B W d      Y Y Y Y W W W W W B W s      B B B B W W W W W W W 10      + - - - - + - - - - + c      B B B B W W W W W G W i      R R R R W W W W W B W d      Y Y Y Y W W W W W B W s      B B B B W W W W W W W 11      + - - - - + - - - - + c      B B B B W W W W W B W i      R R R R W W W W W W W d      Y Y Y Y W W W W W W W s      B B B B W W W W W W W 12      + - - - - + - - - - + c      B B B B W W W W W B W i      R R R R W W W W W W W d      Y Y Y Y W W W W W W W s      B B B B W W W W W W W