Abstract

We give an application of iterated pushdown automata to contour words of balls and two other domains in infinitely many tilings of the hyperbolic plane. We also give a similar application for the tiling {5,3,4} of the hyperbolic 3D space and for the tiling {5,3,3,4} of the hyperbolic 4D space as well.

1. Introduction

Iterated pushdown automata were introduced in [1, 2] and we refer the reader to [3] for references and for the connection of this topic with sequences of rational numbers. By their definition, iterated pushdown automata are more powerful than standard pushdown automata, but they are far less powerful than Turing machines. As Turing machines can be simulated by a finite automaton with two independent stacks, iterated pushdown automata can be viewed as an intermediate device, see also [4] for other connections of automata with graph algebras.

In this paper, we show an application of this device to the characterization of contour words of a family of bounded domains in many tilings of the hyperbolic plane. We do the same kind of application for a tiling of the hyperbolic 3D space and for another one in the hyperbolic 4D space. These two latter applications cannot be generalized to any dimension as, starting from dimension 5, there is no tiling of the hyperbolic space which would be a tessellation generated by a regular polytope.

In Section 2, we remember the definition of iterated pushdown automata with an application to the computation of the recognition of words of the form π‘Žπ‘“π‘›, where {𝑓𝑛}π‘›βˆˆβ„• is the Fibonacci sequence with 𝑓0=𝑓1=1. This sequence will always be denoted by {𝑓𝑛}π‘›βˆˆβ„• in all the paper.

In Section 3, we remind the reader about several features and properties on tilings of the hyperbolic plane.

In Section 4, we define the contour words which we are interested in and we construct iterated pushdown automata which recognize them for the case of the pentagrid and the heptagrid, that is, the tilings {5,4} and {7,3} of the hyperbolic plane. In the same section, we extend these results to infinitely many tilings of the hyperbolic plane.

In Section 5, we extend the result to two tilings of the 3D and 4D hyperbolic spaces.

2. Iterated Pushdown Automata

In this section, we fix the notations which will be used in the paper. We follow the notations of [3].

2.1. Iterated Pushdown Stores

This data structure is defined by induction, as follows:ξ€·Ξ“ξ€Ί0-pds(Ξ“)={πœ–},π‘˜+1-pds(Ξ“)=π‘˜-pds(Ξ“)ξ€»ξ€Έβˆ—,it-pds(Ξ“)=βˆͺπ‘˜π‘˜-pds(Ξ“).(2.1)

The elements of a π‘˜+1-pds(Ξ“) structure are π‘˜-pds(Ξ“) structures, and each element is labelled by a letter of Ξ“. A π‘˜-pds(Ξ“) structure will often be called a π‘˜-level store, for short. When π‘˜ is fixed, we speak of outer stores and of inner stores in a relative way: an 𝑖-level store is outer than a 𝑗-one if and only if 𝑖<𝑗. In the same situation, the 𝑗-level store is inner than the 𝑖-one.

We define functions and operations on π‘˜-level stores, by induction on π‘˜.

From the above definition, we get that a π‘˜+1-level store πœ” can be uniquely represented in the form:[]πœ”=π΄π‘“π‘™π‘Žπ‘”β‹…π‘Ÿπ‘’π‘ π‘‘,(2.2) where π΄βˆˆΞ“, π‘“π‘™π‘Žπ‘” is a π‘˜-level store, and rest is π‘˜+1-store. Moreover, if β„“ is the number of elements of rest, the number of elements of πœ” is β„“+1.

A first operation consists in defining the generalization of the standard notion of top symbol in an ordinary pushdown structure. This is performed by the function π‘‘π‘œπ‘π‘ π‘¦π‘š defined by[]π‘‘π‘œπ‘π‘ π‘¦π‘š(πœ–)=πœ–,π‘‘π‘œπ‘π‘ π‘¦π‘š(π΄π‘“π‘™π‘Žπ‘”β‹…π‘Ÿπ‘’π‘ π‘‘)=π΄β‹…π‘‘π‘œπ‘π‘ π‘¦π‘š(π‘“π‘™π‘Žπ‘”).(2.3)

It is important to remark that π‘‘π‘œπ‘π‘ π‘¦π‘š is the single direct access to all inner stores of a π‘˜-level store. In other words, for any inner store, only its topmost symbol can be accessed and when this inner store is in the top of the outmost store.

Also note that the π‘‘π‘œπ‘π‘ π‘¦π‘š function performs a reading. There are two families of writing operations, also concerning the elements visible from the π‘‘π‘œπ‘π‘šπ‘œπ‘ π‘‘ function only.

The first one consists of the pop operations defined by the following induction:π‘π‘œπ‘π‘—(πœ–)isundefined,π‘π‘œπ‘π‘—+1(𝐴[π‘“π‘™π‘Žπ‘”]β‹…π‘Ÿπ‘’π‘ π‘‘)=𝐴⋅[π‘π‘œπ‘π‘—(π‘“π‘™π‘Žπ‘”)]β‹…π‘Ÿπ‘’π‘ π‘‘.

The second family consists of the push operations defined by the following induction:π‘π‘’π‘ β„Ž1(𝛾)(πœ–)=𝛾,forπ›ΎβˆˆΞ“, π‘π‘’π‘ β„Žπ‘—(𝛾)(πœ–) is undefined for 𝑗>1,π‘π‘’π‘ β„Žπ‘—+1(𝑀)(𝐴[π‘“π‘™π‘Žπ‘”]β‹…π‘Ÿπ‘’π‘ π‘‘)=𝑀1[π‘“π‘™π‘Žπ‘”]β€¦π‘€π‘˜[π‘“π‘™π‘Žπ‘”]β‹…π‘Ÿπ‘’π‘ π‘‘, where 𝑀=𝑀1β€¦π‘€π‘˜, with π‘€π‘–βˆˆΞ“ for 1β‰€π‘–β‰€π‘˜.

2.2. Iterated Pushdown Automata

Intuitively, the definition is very close to the traditional one of standard nondeterministic standard automata. A π‘˜-iterated pushdown automaton is defined by giving the following data:(i)a finite set of states, 𝑄,(ii)an input finite alphabet Ξ£, (iii)a store finite alphabet Ξ“,(iv)a transition function 𝛿 from 𝑄×Σβˆͺ{πœ–}Γ—Ξ“π‘˜ into a finite set of instructions of the form (π‘ž,op), where π‘ž is a state and op is a pop or a push operation as described in the previous subsection.

We also assume that there is an initial state denoted by π‘ž0 and that the initial state of the store is 𝑍[πœ–], where 𝑍 is a fixed in-advance symbol of Ξ“. Note that we allow πœ–-transition which plays a key role.

A configuration is a word of the form (π‘ž,𝑀,πœ”), where π‘ž is the current state of the automaton, 𝑀 is the current word, and πœ” is the current π‘˜-level store of the automaton. A computational step of the automaton allows to go from one configuration to another by the application of one transition. In order to apply a transition, the current state of the automaton must be that of the transition, the first letter of 𝑀 must be the symbol of Ξ£ in the transition if any, and π‘‘π‘œπ‘π‘ π‘¦π‘š(πœ”) must be the word of Ξ“π‘˜ in the transition if any. A word 𝑀 is accepted if and only if there is a sequence of computational steps starting from (π‘ž0,𝑀,𝑍[πœ–]) to a first configuration of the form (π‘ž,πœ–,πœ–). The language recognized by a π‘˜-iterated pushdown automaton is the set of words in Ξ£βˆ— which are accepted by the automaton.

2.3. An Example: The Fibonacci Sequence

As an illustrative example of the working of such an automaton, we take the set of words of the form π‘Žπ‘“π‘›, where {𝑓𝑛}π‘›βˆˆβ„• is the Fibonacci sequence. This language is recognized by a 2-iterated pushdown automaton as proved in [3]. Here, we give the automaton and a proof of its correctness.

The proof is based on the following lemma.

Lemma 2.1. One has the following relations, for any nonnegative π‘˜: ξ€·π‘ž0,π‘Žπ‘“π‘˜,𝑋2ξ€ΊπΉπ‘˜ξ€»ξ€ΈβŸΉβ‹…πœ”βˆ—π›Ώξ€·π‘ž0ξ€Έ,ξ€·π‘ž,πœ–,πœ”0,π‘Žπ‘“π‘˜+1,𝑋1ξ€ΊπΉπ‘˜ξ€»ξ€ΈβŸΉβ‹…πœ”βˆ—π›Ώξ€·π‘ž0ξ€Έ.,πœ–,πœ”(2.4)

Proof. It is performed by induction whose basic case π‘˜=0 is easy. If we start from (π‘ž0,π‘Žπ‘“π‘˜+1,𝑋1[πΉπ‘˜]β‹…πœ”), we have the following derivation: ξ€·π‘ž0,π‘Žπ‘“π‘˜+2,𝑋1ξ€ΊπΉπ‘˜+1ξ€»ξ€ΈβŠ’ξ€·π‘žβ‹…πœ”1,π‘Žπ‘“π‘˜+2,𝑋1ξ€ΊπΉπ‘˜ξ€»ξ€ΈβŠ’ξ€·π‘žβ‹…πœ”0,π‘Žπ‘“π‘˜+2,𝑋1ξ€ΊπΉπ‘˜ξ€»β‹…π‘‹2ξ€ΊπΉπ‘˜ξ€»ξ€ΈβŠ’ξ€·π‘žβ‹…πœ”0,π‘Žπ‘“π‘˜,𝑋2ξ€ΊπΉπ‘˜ξ€»ξ€Έβ‹…πœ”(2.5) by induction hypothesis as π‘“π‘˜+2=π‘“π‘˜+1+π‘“π‘˜. And, again by induction hypothesis. ξ€·π‘ž0,π‘Žπ‘“π‘˜,𝑋2ξ€ΊπΉπ‘˜ξ€»ξ€ΈβŠ’ξ€·π‘žβ‹…πœ”0ξ€Έπœ–,πœ”.(2.6)
Similarly, ξ€·π‘ž0,π‘Žπ‘“π‘˜+1,𝑋2ξ€ΊπΉπ‘˜+1ξ€»ξ€ΈβŠ’ξ€·π‘žβ‹…πœ”2,π‘Žπ‘“π‘˜+1,𝑋2ξ€ΊπΉπ‘˜ξ€»ξ€ΈβŠ’ξ€·π‘žβ‹…πœ”0,π‘Žπ‘“π‘˜+1,𝑋1ξ€ΊπΉπ‘˜ξ€»ξ€ΈβŠ’ξ€·π‘žβ‹…πœ”0ξ€Έ,,πœ–,πœ”(2.7) by induction hypothesis.
Let π‘Žπ‘š be the initial word. With the first two transitions, we guess an integer π‘˜ such that π‘š=π‘“π‘˜ if any. Then we arrive at the configuration (π‘ž0,π‘Žπ‘š,𝑍[πΉπ‘˜]). Next, we have ξ€·π‘ž0,π‘Žπ‘šξ€ΊπΉ,𝑍kβŠ’ξ€·π‘žξ€»ξ€Έ0,π‘Žπ‘š,𝑋2ξ€ΊπΉπ‘˜ξ€»ξ€Έ.(2.8) And by the lemma, we proved that (π‘ž0,π‘Žπ‘š,𝑋2[πΉπ‘˜])⊒(π‘ž0,πœ–,πœ–) and so the word is accepted.
We can see that if π‘š=π‘“π‘˜ and if we guessed a wrong π‘˜, then either the word is not empty when the store vanishes, and we cannot restore it, or the word is empty as the store is not. This also shows that if π‘šβ‰ π‘“π‘˜, as there is in this case a unique π‘˜ such that π‘“π‘˜<π‘š<π‘“π‘˜+1, we always have either an empty word an a nonempty store or an empty store with a nonempty word, whatever the guess.

3. The Tilings of the Hyperbolic Plane

We assume that the reader is a bit familiar with hyperbolic geometry, at least with its most popular models, PoincarΓ©s’s half-plane and disc.

We remember the reader that in the hyperbolic plane, thanks to a well-known theorem of PoincarΓ©, there are infinitely many tilings which are generated by tessellation starting from a regular polygon. This means that, starting from the polygon, we recursively copy it by reflections in its sides and of the images in their sides. This family of tilings is defined by two parameters: 𝑝, the number of sides of the polygon, and π‘ž, the number of polygons which can be put around a vertex without overlapping and covering any small enough neighbourhood of the vertex.

In order to represent the tilings which we will consider and the regions whose contour word will be under study, we will make use of Poincaré’s disc model. Our illustrations will take place in the pentagrid and the heptagrid, that is, the tilings {5,4} and {7,3}, respectively, of the hyperbolic plane. Figures 1 and 2 will illustrate these tilings.

From Figure 1,the pentagrid and the heptagrid seem rather different. However, there is a tight connection between these tilings which can be seen from Figure 2. In both pictures of the latter figure, we represent the tiling by selecting a central tile and then by displaying as many sectors as the number of sides of the central tile. In each case, these sectors do not overlap and their union together with the central cell gives the tiling of the whole hyperbolic plane. Now, there is a deeper common point: in both cases, each sector is spanned by a tree which we call a Fibonacci tree for a reason which will soon be explained.

As proved in [5, 6], the corresponding tree can be defined as follows. We distinguish two kinds of nodes, say black nodes, labelled by 𝐡, and white nodes, labelled by π‘Š. Now, we get the sons of a node by the following rules: π΅β†’π΅π‘Š and π‘Šβ†’π΅π‘Šπ‘Š, the root of the tree being a white node, see Figure 3. It is not difficult to see that if the root is on level 0 of the tree, the number of nodes on the level π‘˜ of the tree is 𝑓2π‘˜+1, where {π‘“π‘˜}π‘˜βˆˆβ„• is the Fibonacci sequence with 𝑓0=𝑓1=1.

The Fibonacci tree has a lot of nice properties which we cannot discuss here. In particular, there is a way to locate the tiles of the pentagrid or the heptagrid very easily thanks to coordinates devised from the properties of the Fibonacci tree, see [5–7].

4. The Contour Words

Now, we have the tools to define the regions from which we define contour words, and we also have the tools to define the iterated pushdown automata which recognize them.

4.1. Balls

Consider a ball π΅π‘˜ of radius π‘˜+1 in the penta- or the heptagrid. This ball is the union of the central cell and 𝛼 truncated sectors, 𝛼=5 for the pentagrid and 𝛼=7 for the heptagrid, each truncated sector being spanned by a Fibonacci tree up to the level π‘˜. Accordingly, the number of tiles which are exactly at the distance π‘˜+1 from the central cell is 𝛼⋅𝑓2π‘˜+1. Denote the set of these tiles by πœ•π΅π‘˜. Figure 4 illustrates πœ•π΅3 in the pentagrid and in the heptagrid.

The 𝛼 sectors around the central cell can be numbered from 1 to 𝛼 by fixing sector 1 once for all and by counterclockwise turning around the central cell. We call contour word π‘π‘€π‘˜ the word obtained by taking the labels of the tiles which are on πœ•π΅π‘˜, starting from the left-hand side border of sector 1 and by counter clockwise running along πœ•π΅π‘˜, until the tile which is on the right-hand side border of the sector 𝛼. It is easy to remark that the contour work π‘π‘€π‘˜ can be written as (π‘ π‘€π‘˜)𝛼, where π‘ π‘€π‘˜ is obtained by taking the word which is on πœ•π΅π‘˜ from the left-hand side of the sector to its right-hand side.

Already by the length of the contour words, we can see that the set of all contour words is not algebraic: it is enough to apply Ogden’s pumping lemma.

Now we have the following theorem.

Theorem 4.1. The contour words of the pentagrid and those of the heptagrid can be recognized by a 2-level pushdown automaton.

Proof. Indeed, we can transform Automaton 1 in order to do the job. The new automaton is represented in Automaton 2
For the proof, it is enough to prove that for any nonnegative π‘˜ξ€·π‘ž0,π‘π‘ π‘€π‘˜ξ€ΊπΉ,π΅π‘˜ξ€»ξ€ΈβŸΉβ‹…πœ”βˆ—π›Ώξ€·π‘ž0ξ€Έ,ξ€·π‘ž,πœ–,πœ”0,π‘ π‘€π‘˜ξ€ΊπΉ,π‘Šπ‘˜ξ€»ξ€ΈβŸΉβ‹…πœ”βˆ—π›Ώξ€·π‘ž0ξ€Έ,,πœ–,πœ”(4.1) where π‘π‘ π‘€π‘˜ is the word obtained on the level π‘˜ of a Fibonacci tree whose root is a black node, starting from the left-hand side border to the right-hand side one.
The rest of the easy proof is left to the reader.
However, we can give an idea of the automaton which will better convince the reader.
In fact, the automaton can be seen as a device which traverses the tree in a depth first way. To this purpose, starting from the root whose height is π‘˜, the automaton puts on the outer store the nodes it takes, always going to left first. For each node, the automaton puts the labels of the son of the node together with the height of each sons which is stored as an inner store. As the height of the sons is reduced by 1 with respect to that of the father, this is obtained by a simple popping of the inner store. This explains both the construction of the automaton and its correctness.
Of course, the figure of Automaton 2 provides us with two automata: one for the pentagrid and one for the heptagrid.

three states: π‘ž 0 , π‘ž 1 and π‘ž 2 ; input word in { π‘Ž } βˆ— ; Ξ“ = { 𝑍 , X 1 , 𝑋 2 , 𝐹 } ;
initial state: π‘ž 0 ; initial stack: 𝑍 [ πœ– ] ; transition function 𝛿 :
    𝛿 ( π‘ž 0 , πœ– , 𝑍 ) = { ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 2 ( 𝐹 ) ) , ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝑋 2 ) ) }
    𝛿 ( π‘ž 0 , πœ– , 𝑍 𝐹 ) = { ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 2 ( 𝐹 𝐹 ) ) , ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝑋 2 ) ) }
    𝛿 ( π‘ž 0 , πœ– , 𝑋 1 𝐹 ) = ( π‘ž 1 , 𝑝 π‘œ 𝑝 2 )
    𝛿 ( π‘ž 0 , πœ– , 𝑋 2 𝐹 ) = ( π‘ž 2 , 𝑝 π‘œ 𝑝 2 )
    𝛿 ( π‘ž 0 , π‘Ž , 𝑋 1 ) = ( π‘ž 0 , 𝑝 π‘œ 𝑝 1 )
    𝛿 ( π‘ž 0 , π‘Ž , 𝑋 2 ) = ( π‘ž 0 , 𝑝 π‘œ 𝑝 1 )
    𝛿 ( π‘ž 1 , πœ– , 𝑋 1 𝐹 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝑋 1 𝑋 2 ) )
    𝛿 ( π‘ž 2 , πœ– , 𝑋 2 𝐹 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝑋 1 ) )
    𝛿 ( π‘ž 1 , πœ– , 𝑋 1 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝑋 1 𝑋 2 ) )
    𝛿 ( π‘ž 2 , πœ– , 𝑋 2 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝑋 1 ) )

two states: π‘ž 0 and π‘ž 1 ; input word in { 𝑏 , 𝑀 } βˆ— ; Ξ“ = { 𝑍 , 𝐡 , π‘Š , 𝐹 } ;
initial state: π‘ž 0 ; initial stack: 𝑍 [ πœ– ] ; transition function 𝛿 :
    𝛿 ( π‘ž 0 , πœ– , 𝑍 ) = { ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 2 ( 𝐹 ) ) , ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( π‘Š 𝛼 ) ) }
    𝛿 ( π‘ž 0 , πœ– , 𝑍 𝐹 ) = { ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 2 ( 𝐹 𝐹 ) ) , ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( π‘Š 𝛼 ) ) }
    𝛿 ( π‘ž 0 , πœ– , π‘Š 𝐹 ) = ( π‘ž 1 , 𝑝 π‘œ 𝑝 2 )
    𝛿 ( π‘ž 0 , πœ– , 𝐡 𝐹 ) = ( π‘ž 1 , 𝑝 π‘œ 𝑝 2 )
    𝛿 ( π‘ž 0 , 𝑏 , 𝐡 ) = ( π‘ž 0 , 𝑝 π‘œ 𝑝 1 )
    𝛿 ( π‘ž 0 , 𝑀 , π‘Š ) = ( π‘ž 0 , 𝑝 π‘œ 𝑝 1 )
    𝛿 ( π‘ž 1 , πœ– , π‘Š 𝐹 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝐡 π‘Š π‘Š ) )
    𝛿 ( π‘ž 1 , πœ– , 𝐡 𝐹 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝐡 π‘Š ) )
    𝛿 ( π‘ž 1 , πœ– , π‘Š ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝐡 π‘Š π‘Š ) )
    𝛿 ( π‘ž 1 , πœ– , 𝐡 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝐡 π‘Š ) )

We remark from the proof that the result can be extended to any tree with a finite branching, where the degree of the nodes can be defined by a fixed set of rules. A similar automaton can then be easily deduced. We refer the reader to [3] for more information on the connection between iterated pushdown automata and trees.

As proved in [6, 8], for each 𝑝β‰₯5, the tilings {𝑝,4} and {𝑝+2,3} of the hyperbolic plane are spanned by the same tree, which can be seen as a generalization of the Fibonacci tree for this couple of tilings. The tree has two kinds of nodes, again black and white, labelled by 𝐡 and π‘Š, respectively. The tree is now generated by the following rules: π‘ŠβŸΆπ΅π‘Šπ‘βˆ’3,π΅βŸΆπ΅π‘Šπ‘βˆ’4.(R)

We can define balls in the tilings {𝑝,4} and {𝑝+2,3} as in the case of the pentagrid or the heptagrid: it is in fact a general definition. Now, we can define also the border of a ball and the contour word which is defined as in the case of the pentagrid and of the heptagrid.

Now, considering the transitions of Automaton 2, it is easy to change them in order to obtain a 2-pushdown automaton which exactly recognizes the contour words of the balls of the tilings {𝑝,4} and {𝑝+2,3}. Taking a copy of Automaton 2, replace in it 𝛼 by 𝑝 for a tiling {𝑝,4}, by 𝑝+2 for a tiling {𝑝+2,3}, and replace π΅π‘Š by π΅π‘Šπ‘βˆ’4 in the last four rules of the new automaton.

And so, we can state the following theorem.

Theorem 4.2. For each integer 𝑝, 𝑝β‰₯5, there is a 2-pushdown automaton which recognizes exactly the contour words of the balls of the tilings {𝑝,4} and {𝑝+2,3}.

4.2. Sectors

Now, we can also consider truncated sectors as a region. We can define two kinds of truncated sectors which were already studied in [6] as quarters and bars in the case of the pentagrid.

A truncated sector of the first kind, we will say a white π‘˜-sector, consists of the tiles which belong to a Fibonacci tree rooted at a white tile up to the level π‘˜, this level being included. Similarly, we define a black π‘˜-sector using a Fibonacci tree rooted at a black node. It is plain that a white and a black π‘˜-sector can be defined indifferently in the pentagrid or in the heptagrid. Moreover, these notions can be extended to the tilings {𝑝,4} and {𝑝+2,3}, replacing the Fibonacci tree by the tree defined by the rules (R).

The contour word of a π‘˜-sector is defined by its border, as in the case of a ball. Let π‘Šπ‘˜ be a white π‘˜-sector. Then, its border, πœ•π‘Šπ‘˜, is defined as the set of tiles which are on the leftmost branch of the tree spanning the sector, on its rightmost branch or on the level π‘˜ of the tree, see Figure 5.

Similarly, if π΅π‘˜ is black π‘˜-sector, its border, πœ•π΅π‘˜, is defined as the set of tiles which are on the leftmost branch of the tree spanning the sector, on its rightmost branch, or on the level π‘˜ of the tree, see Figure 6.

Now that we defined the contour words attached to πœ•π‘Šπ‘˜ and πœ•π΅π‘˜, we can prove the following result.

Theorem 4.3. There is a 2-iterated pushdown automaton which recognizes the contour word of all πœ•π‘Šπ‘˜β€™s as well as another one to recognize the contour words of all πœ•π΅π‘˜β€™s.

Proof. There is no problem to recognize the leftmost branch of the tree, as it is always on the top of the store. For the rightmost branch, the idea of the proof consists in introducing new rules which will leave on the end of the external store a witness of each node on the rightmost branch. The rules can be defined as follows: π‘Šπ‘ŸβŸΆπ΅π‘π‘Šπ‘Šπ‘π‘‹,π‘Šπ‘βŸΆπ΅π‘Šπ‘Šπ‘π‘‹,π΅π‘βŸΆπ΅π‘π‘Š,π‘ŠβŸΆπ΅π‘Šπ‘Š,π΅βŸΆπ΅π‘Š.(4.2)
Note that the second line contains the rules already used in Automaton 2. The interpretation of the new rules is straightforward: π‘Šπ‘Ÿ stands for the root, 𝐡𝑏 for the tiles on the leftmost branch below the root, which are black nodes, and π‘Šπ‘ for the tiles on the rightmost branch below the root. Now, 𝑋 is a witness left by π‘Šπ‘ in order to remember the tile on the rightmost branch of the tree, look at the corresponding instructions in Automaton 3.
Note that Automaton 3 recognizes the contour word of truncated white sectors. For truncated black sectors, it is enough to replace the rule π‘Šπ‘Ÿβ†’π΅π‘π‘Šπ‘Šπ‘ by a rule π΅π‘Ÿβ†’π΅π‘π‘Šπ‘Ÿ and to replace the transitions π›Ώξ€·π‘ž0ξ€Έ=π‘ž,πœ–,𝑍0,π‘π‘’π‘ β„Ž2ξ€Έ,ξ€·π‘ž(𝐹)0,π‘π‘’π‘ β„Ž1ξ€·π‘Šπ‘Ÿ,π›Ώξ€·π‘žξ€Έξ€Έξ€Ύ0ξ€Έ=π‘ž,πœ–,𝑍𝐹0,π‘π‘’π‘ β„Ž2(ξ€Έ,ξ€·π‘žπΉπΉ)0,π‘π‘’π‘ β„Ž1ξ€·π‘Šπ‘Ÿξ€Έξ€Έξ€Ύ(4.3) by the transitions π›Ώξ€·π‘ž0ξ€Έ=π‘ž,πœ–,𝑍0,π‘π‘’π‘ β„Ž2ξ€Έ,ξ€·π‘ž(𝐹)0,π‘π‘’π‘ β„Ž1ξ€·π΅π‘Ÿ,π›Ώξ€·π‘žξ€Έξ€Έξ€Ύ0ξ€Έ=π‘ž,πœ–,𝑍𝐹0,π‘π‘’π‘ β„Ž2(ξ€Έ,ξ€·π‘žπΉπΉ)0,π‘π‘’π‘ β„Ž1ξ€·π΅π‘Ÿξ€Έξ€Έξ€Ύ(4.4) and to change accordingly the transitions involving π‘Šπ‘Ÿ by transitions involving π΅π‘Ÿ. The proof of the correctness of Automaton 3 and the modified automaton for the truncated black sectors is straightforward, and it is left to the reader.

  two states: π‘ž 0 and π‘ž 1 ; input word in { π‘Ÿ , 𝑠 , 𝑏 , 𝑀 } βˆ— ;
   Ξ“ = { 𝑍 , 𝐡 , π‘Š , 𝐡 𝑏 , π‘Š 𝑏 , π‘Š π‘Ÿ , 𝑋 , 𝐹 } ;
  initial state: π‘ž 0 ; initial stack: 𝑍 [ πœ– ] ; transition function 𝛿 :
   𝛿 ( π‘ž 0 , πœ– , 𝑍 ) = { ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 2 ( 𝐹 ) ) , ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( π‘Š π‘Ÿ ) ) }
   𝛿 ( π‘ž 0 , πœ– , 𝑍 𝐹 ) = { ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 2 ( 𝐹 𝐹 ) ) , ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( π‘Š π‘Ÿ ) ) }
   𝛿 ( π‘ž 0 , πœ– , π‘Š 𝐹 ) = ( π‘ž 1 , 𝑝 π‘œ 𝑝 2 ) ; 𝛿 ( π‘ž 0 , πœ– , 𝐡 𝐹 ) = ( π‘ž 1 , 𝑝 π‘œ 𝑝 2 )
   𝛿 ( π‘ž 0 , π‘Ÿ , π‘Š π‘Ÿ 𝐹 ) = ( π‘ž 1 , 𝑝 π‘œ 𝑝 2 ) ; 𝛿 ( π‘ž 0 , π‘Ÿ , π‘Š π‘Ÿ ) = ( π‘ž 1 , 𝑝 π‘œ 𝑝 1 )
   𝛿 ( π‘ž 0 , πœ– , π‘Š 𝑏 𝐹 ) = ( π‘ž 1 , 𝑝 π‘œ 𝑝 2 )
   𝛿 ( π‘ž 0 , 𝑠 , 𝐡 𝑏 𝐹 ) = ( π‘ž 1 , 𝑝 π‘œ 𝑝 2 ) ; 𝛿 ( π‘ž 0 , 𝑏 , 𝐡 𝑏 ) = ( π‘ž 0 , 𝑝 π‘œ 𝑝 1 ) ; 𝛿 ( π‘ž 0 , 𝑏 , 𝐡 ) = ( π‘ž 0 , 𝑝 π‘œ 𝑝 1 )
   𝛿 ( π‘ž 0 , 𝑀 , π‘Š ) = ( π‘ž 0 , 𝑝 π‘œ 𝑝 1 ) ; 𝛿 ( π‘ž 0 , 𝑀 , π‘Š 𝑏 ) = ( π‘ž 0 , 𝑝 π‘œ 𝑝 1 )
   𝛿 ( π‘ž 0 , 𝑠 , 𝑋 𝐹 ) = ( π‘ž 0 , 𝑝 π‘œ 𝑝 1 )
   𝛿 ( π‘ž 1 , πœ– , π‘Š π‘Ÿ 𝐹 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝐡 𝑏 π‘Š π‘Š π‘Ÿ ) ) ; 𝛿 ( π‘ž 1 , πœ– , π‘Š 𝑏 𝐹 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝐡 π‘Š π‘Š π‘Ÿ 𝑋 ) )
   𝛿 ( π‘ž 1 , πœ– , π‘Š 𝐹 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝐡 π‘Š π‘Š ) )
   𝛿 ( π‘ž 1 , πœ– , 𝐡 𝑏 𝐹 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝐡 𝑏 π‘Š ) ) ; 𝛿 ( π‘ž 1 , πœ– , 𝐡 𝐹 ) = ( π‘ž 0 , 𝑝 𝑒 𝑠 β„Ž 1 ( 𝐡 π‘Š ) )

What has been said for the contour word of a ball can be said for contour words of sectors also in the case of the tilings {𝑝,4} and {𝑝+2,3} of the hyperbolic plane. There are also two kinds of sectors and the transformations are very similar to the one which we performed in order to prove Theorem 4.2. We leave this as an exercise for the reader.

5. Dimensions 3 and 4

We take advantage of the remark we formulated after the proof of Theorem 4.1 in order to mention that the results of the previous section can be extended to the hyperbolic 3D and 4D spaces. As already mentioned in the introduction, there are only a few tessellations in the hyperbolic 3D and 4D spaces, and, starting from dimension 5, there is no such tiling in the hyperbolic space.

We will briefly indicate the reason why the result of Theorem 4.1 can be extended to two tilings of the hyperbolic 3D and 4D spaces. We will first see the 3D case and then the 4D one.

5.1. Dimension 3

There are four tessellations in the hyperbolic 3D space. We will consider only one of them, namely, the tiling {5,3,4}, which we will call the dodecagrid, as it is built by tessellation starting from the regular dodecahedral with right angles. The numbers in the signature {𝑝,π‘ž,π‘Ÿ} say that the faces have 𝑝 sides, that, on a tile, π‘ž faces meet at a vertex, and that any edge of a tile is shared by exactly four tiles. Such a dodecahedron is unique up to isometries of the hyperbolic 3D space. In [6, 9], it is proved that the dodecagrid can be split into eight sectors exactly, the eight sectors being defined by a leading dodecahedron. The eight leading dodecahedron share a common vertex called the central point and each one is in contact with exactly three of them through three of its faces. These faces of contact define three planes of the hyperbolic 3D space which have a common point and which are pairwise perpendicular. Now, each sector is spanned by a tree 𝒯 whose root is associated with its leading dodecahedron.

Now, the tree 𝒯 is a 3D one which can also be represented as a planar one as its generation can be given by finitely many rules looking very much to those used in the case of the pentagrid or the heptagrid. Without entering in further details about the justification of this property, it is known from [6, 9] that, for this purpose, we can indicate a set of four rules which generate 𝒯 on the basis of the labelling of each node with one of the letters 𝑂, 𝐻, 𝐢 or 𝑇, the leading dodecahedron being labelled with 𝑂.

As we proved in [10], it is possible to reduce the previous set of rules to three of them, keeping only the nodes labelled with 𝑂, 𝐻, and 𝑇. The labelling with four rules is based on a splitting of the dodecagrid involving four regions also labelled 𝑂, 𝐻, 𝐢, and 𝑇, see Figure 7, from which we deduce the rules (𝑅03). Considering the splitting defined by Figure 8, we get the following rules:π‘‚βŸΆπ‘‚2𝐻6𝑇,π»βŸΆπ‘‚π»6𝑇,π‘‡βŸΆπ»5𝑇,(𝑅3)π‘‚βŸΆπ‘‚5𝐢3𝑇,π»βŸΆπ‘‚4𝐢3𝑇,πΆβŸΆπ‘‚3𝐢3𝑇,π‘‡βŸΆπ‘‚2𝐻𝐢2𝑇.(𝑅03)

From this, using the already applied technique of the previous paragraph, it is possible to devise a 2-iterated pushdown automaton which recognizes the contour words of a region whose definition is a bit changed with respect to what was given in the previous section. Here, a ball 𝐡3π‘˜ of radius π‘˜ is the set of tiles which are within a distance π‘˜, in tiles, from the central point. Define the border of 𝐡3π‘˜, denoted by πœ•π΅3π‘˜, as the tiles which are at a distance π‘˜ exactly from the central point. The contour word is defined by traversing πœ•π΅3π‘˜ in the way induced by the maps very similar in principle to those defined in [6, 9]. Indeed, there is a way to injectively enumerate the tiles of the different level of 𝒯 which allow to lift up a planar representation of 𝒯 as defined by the rules (𝑅3) up to the actual 3D tree. This can be obtained by maps of level 1, and there is a way, described in [6, 9] to generate the map of the level π‘˜ from the maps of level 1 of the different trees defined by the rules (𝑅3), considering the trees rooted at each possible kind of nodes.

The sectors themselves do generate a contour word. The just indicated maps can be used to identify the sides of the tree in the maps and the considered nodes of the tree can be given an appropriate sign. Then, the traversal defined by the extension of Automaton 2 to this case will generate a contour word in which we have first the signs corresponding to the nodes which are on the sides of the sector and then the nodes which are at distance π‘˜, using the traversal defined by the maps. As we have three possible labels for the nodes, the rules (𝑅3) define three kinds of sectors. We will call π‘˜-truncated 𝛾-sector, with π›Ύβˆˆ{𝑂,𝐻,𝑇}, the set of tiles which belong to a tree generated by the rules (𝑅3) which is rooted at a tile labelled 𝛾.

Then we have the following.

Theorem 5.1. There is a 2-iterated pushdown automaton which recognizes the contour words of the balls π΅π‘˜ in the hyperbolic 3D space. Also, for each π›Ύβˆˆ{𝑂,𝐻,𝑇}, there is a 2-iterated pushdown automaton which recognizes the contour words of any π‘˜-truncated 𝛾-sector.

5.2. Dimension 4

In the hyperbolic 4D space, there are five tessellations based on a regular polytope. We will take the one which extends the dodecagrid. From the regular dodecahedron with right angles, it is possible to construct a regular polytope called the 120-cell, whose faces are regular dodecahedra with right angles. From this regular polytope, we can generate a tiling by tessellation which we call the 120-cell grid. The signature of this grid is {5,3,3,4} which means that four 120-cells share a common pentagon, that three dodecahedra share a common edge, and that three pentagons share a common point, remembering that the 2-dimensional structure is a pentagon.

The common point with the dodecagrid is that the technique used for the dodecagrid also applies here. The space is the union of 16 sectors, each one having a leading 120-cell sharing a common vertex which is the central point. Each sector is spanned by a tree whose root is associated with the leading 120-cell. This tree is also generated by a finite set of rules of the same type as that of the rules (𝑅3). Now, this time the set of rules is much more complex as it involves 11 labels. For this reason, we will use the matricial representation of the previous subsection with a slight modification. In Table 1, the leftmost column indicates the labels. The labels are not repeated on the first line: it is assumed that the coefficients of the matrix apply to the type of node whose label is on the row whose index is the same as the column index of the coefficient, the indices starting from 1, and the leftmost column receiving index 0. We refer the reader to [11] for the justification of these rules and for further explanations.

Defining the balls by the distance from a central point as in the 3D case, and the sectors from Table 1, we can devise the instructions of a 2-iterated pushdown automaton which will recognize the contour word of a ball. We also can do the same for the π‘˜-truncated 𝛾-sectors with π›Ύβˆˆ{πŸ—,πŸ–,πŸ•,πŸ”π‘Ž,πŸ”π‘,πŸ“,πŸ’,πŸ‘,𝟐,𝟏,𝟎}.

Acknowledgment

The author wishes to express special thanks to GΓ©raud SΓ©nizergues for drawing this attention on iterated pushdown automata and for SΓ©nizergues’ interest in the results of this paper.