Simulation of Effective Subshifts by Two-dimensional Subshifts of Finite Type
SSIMULATION OF EFFECTIVE SUBSHIFTSBY TWO-DIMENSIONAL SUBSHIFTS OF FINITE TYPE
NATHALIE AUBRUN AND MATHIEU SABLIK
Abstract.
In this article we study how a subshift can simulate another one, where the notion of simulationis given by operations on subshifts inspired by the dynamical systems theory (factor, projective subaction...).There exists a correspondence between the notion of simulation and the set of forbidden patterns. The mainresult of this paper states that any effective subshift of dimension d – that is a subshift whose set of forbiddenpatterns can be generated by a Turing machine – can be obtained by applying dynamical operations on asubshift of finite type of dimension d +1 – a subshift that can be defined by a finite set of forbidden patterns.This result improves Hochman’s [Hoc09]. Introduction
A subshift of dimension d is a closed and shift-invariant subset of A Z d where A is a finite alphabet. Asubshift can be characterized by either its language or by a set of forbidden patterns. With this last point ofview, the simplest class is the set of subshifts of finite type, which are subshifts that can be characterized bya finite set of forbidden patterns. It is possible to apply dynamical transformations like factor or projectivesubaction on a subshift of dimension d , and it seems natural to wonder how they modify the set of forbiddenpatterns.In dimension 1, the class of subshifts of finite type is well understood. In particular subshifts of finitetype are exactly those whose language is accepted by a local automaton [Bea93]. Given this result, we arenaturally interested in subshifts with a language given by a finite automaton without the locality condition.This class is entirely characterized in terms of dynamical operations: it is the class of sofic subshifts, whichcan all be obtained as a factor of a subshift of finite type [LM95]. Thus each sofic subshift is obtained by adynamical transformation of a subshift of finite type.Multidimensional subshifts of finite type are not well understood. For example, it is not easy to describetheir languages. Moreover, in addition to factors, there exist other types of dynamical transformationson multidimensional subshifts: for example a subaction of a d -dimensional subshift consists in taking therestriction of a subshift to a subgroup of Z d . Hochman [Hoc09] showed that every d -dimensional subshiftwhose set of forbidden patterns is recursively enumerable can be obtained by subaction and factor of a d + 2-subshift of finite type. The main result of this article states that any effective subshift of dimension d can beobtained from a SFT of dimension d + 1, thanks to a subaction and a factor operation. This result improvesHochman’s [Hoc09] since our construction decreases the dimension. This problem is referenced in [Boy08]and independently of this work there is solution at this problem in [DRS10].The idea of the proof in [Hoc09] and in this article is to construct T Final , a three dimensional subshiftof finite type in [Hoc09] (resp. a two-dimensional subshift of finite type in this paper), which realizes agiven effective subshift Σ ⊂ A Σ Z in one direction (assume that d = 1) after a projection. Thanks toproduct operation, T Final is constituted by different layers, the first one is constituted by the alphabet A Σ and can be obtained by a projection π . Then finite type conditions ensure that for any x ∈ T Final , onehas π ( x ) Z ×{ ( i,j ) } ∈ Σ (resp. π ( x ) Z ×{ i } ∈ Σ) and all these lines are equal; moreover conditions are not sorestrictive and any configuration of Σ can be realized by a configuration of T Final . We here briefly presentthe main ideas of the proof, so that the reader already has in mind the final goal of technical constructionspresented in this article. The difficulty is to ensure that no forbidden pattern in Σ appears. Since Σ is
Mathematics Subject Classification.
Primary 37B10, Secondary 37B50, 03D10.
Key words and phrases.
Symbolic Dynamics, Multi-dimensional shifts of finite type, Subaction, Projective subaction, Effec-tively closed susbhifts,Turing machines, Substitutive subshifts. a r X i v : . [ m a t h . D S ] F e b n effective subshift, its forbidden patterns can be enumerated by a Turing machine. There are classicaltechniques to simulate calculations of a Turing machine thanks to a finite type condition (see Section 2.6)and the key point of these techniques is that calculations are embedded into finite computation zones. Thus,we consider a Turing machine M Forbid which has a double role: it both enumerates the forbidden patterns ofΣ and checks that none of these patterns appear in a particular zone around each computation zone, calledthe responsibility zone. However, when a Turing machine is constructed in a two-dimensional subshift offinite type, as in this article, computation zones are such that a computation is made on a fractured tape(see Section 2.2). Consequently forbidden patterns produced by M Forbid are also written on a fracturedtape, and comparing them with non fractured patterns that appear in A Σ Z is not trivial. To do so, themachine M Forbid calls for a second Turing machine M Search (see Section 3.5). This machine M Search is givenby M Forbid an address located in its responsibility zone, and answers back the letter of A Σ that appearsat this address. If a forbidden pattern is detected, the machine M Forbid comes into a special state q stop ,whose presence is forbidden is the final subshift. This ensures that every row x Z ×{ i } in the final subshift isa configuration of Σ. So, the two final operations one has to apply in order to obtain the subshift Σ consistfirst in taking the projective subaction on Z e , where e is the first vector of the canonical basis of Z , andthen to erase any information that do not concern Σ – for instance the construction of computation zonesor the SFTs simulating the behaviour of Turing machines – thanks to a well-chosen letter-to-letter factor.The difficulty of this construction presented in this paper is to program Turing machines with different sizeof computation which exchange information in a two-dimensional subshift of finite type, similar argumentscan be found in [Dal74, Han74, DLS01]. We note that the authors of [DRS10] prove a similar result based onKleene’s fixed-point theorem. In that other proof, they do not recourse to geometric arguments to describethe circulation of information between the different levels of computation.The paper is organized as follows: in Section 1 we present five types of operations (product, factor, finitetype, projective subaction and spatial extension) and we formulate classic results with this formalism. InSection 2, we present an important tool to define runs of a Turing machine with a sofic subshift in dimension2, which is the construction of an aperiodic SFT that will contain calculations of a Turing machine andhow to code communication between those different calculations of a Turing machine. These tools are usedto prove our main result in Section 3. The main construction of the proof of Theorem 3.1 is built step bystep and for a better understanding, at the end of each of these subsections the contribution to the finalconstruction is summed up in a fact. We do not pretend to give a formal proof for these facts, but we hopeit will clarify our intention. Subshifts and operations on them
In this section we recall some basic definitions on subshifts inspired from symbolic dynamics. We also presentsome dynamical operations on subshifts, that were first introduced by Hochman [Hoc09] and then developedby the authors in [AS09].
Tilings and subshifts
Let A be a finite alphabet and d be a positive integer. A configuration x is an element of A Z d . Let S bea finite subset of Z d . Denote x S the restriction of x to S . A pattern is an element p ∈ A S and S is the support of p , which is denoted by supp( p ). For all n ∈ N , we call S dn = [ − n ; n ] d the elementary support ofsize n . A pattern with support S dn is an elementary pattern . We denote by E d A = (cid:83) n ∈ N A [ − n ; n ] d the set of d -dimensional elementary patterns. A d -dimensional language L is a subset of E d A . A pattern p of support S ⊂ Z d appears in a configuration x if there exists i ∈ Z d such that for all j ∈ S , p j = x i + j , we denote p (cid:60) x . Definition. A co-tile set is a tuple τ = ( A , d, P ) where P is a subset of E d A called the set of forbiddenpatterns .A generalized tiling by τ is a configuration x such that for all p ∈ P , p does not appear in x . We denoteby T τ the set of generalized tilings by τ . If there is no ambiguity on the alphabet, we just denote it by T P . Remark. If P is finite, it is equivalent to define a generalized tiling by allowed patterns or forbidden patterns,the latter being the usual definition of tiling. ne can define a topology on A Z d by endowing A with the discrete topology, and considering the producttopology on A Z d . For this topology, A Z d is a compact metric space on which Z d acts by translation via σ defined by: σ i A : A Z d −→ A Z d x (cid:55)−→ σ i A ( x ) such that σ i A ( x ) u = x i + u ∀ u ∈ Z d . for all i in Z d . This action is called the shift . Definition. A d -dimensional subshift on the alphabet A is a closed and σ -invariant subset of A Z d . Wedenote by S (resp. S d , S ≤ d ) the set of all subshifts (resp. d -dimensional subshifts, d (cid:48) -dimensional subshiftswith d (cid:48) ≤ d ).Let T ⊆ A Z d be a subshift. Denote L n ( T ) ⊆ A [ − n ; n ] d the set of elementary patterns of size n whichappear in some element of T , and L ( T ) = (cid:83) n ∈ N L n ( T ) the language of T which is the set of elementarypatterns which appear in some element of T .It is also usual to study a subshift as a dynamical system [LM95, Kit98], the next proposition shows thelink between the two notions. Proposition 1.1.
The set T ⊂ A Z d is a subshift if and only if T = T L ( T ) c where L ( T ) c is the complementof L ( T ) in E d A . A set of patterns P ⊆ E d A is recursively enumerable if there exists an effective procedure for listing thepatterns of P (see for instance [RJ87]). Definition.
It is possible to define different classes of subshifts according to the set of forbidden patterns: • For a finite alphabet A and a dimension d ∈ N , the subshift T ( A ,d, ∅ ) = A Z d is the full-shift ofdimension d associated to A . Denote FS the set of all full-shifts (for every finite alphabet A anddimension d ). • For a finite alphabet A , a dimension d ∈ N and a finite set P ⊆ E d A , the subshift T ( A ,d,P ) is a subshiftof finite type . Denote SFT the set of all subshifts of finite type. Subshifts of finite type correspondto the usual notion of tiling. • For a finite alphabet A , a dimension d ∈ N and a recursively enumerable set P ⊆ E d A , the subshift T P is an effective subshift . Denote RE the set of all effective subshifts. Operations on subshifts
In this section we describe five operations on subshifts and use them to define a notion of simulation of asubshift by another one. Operations are gathered in two groups depending on which part – the alphabet A or the group Z d – of a subshift T ⊆ A Z d they modify.1.2.1. Simulation of a subshift by another one An operation op on subshifts transforms a subshift or a n -tuple of subshifts into another one; it is a function op : S → S or op : S × · · · × S → S that can depend on a parameter. An operation is not necessarilydefined for all subshifts. We remark that a subshift T (resp. a pair of subshifts ( T (cid:48) , T (cid:48)(cid:48) )) and its image byan operation op ( T ) (resp. op ( T (cid:48) , T (cid:48)(cid:48) )) do not necessary have the same alphabet or dimension.Let Op be a set of operations on subshifts. Let U ⊂ S be a set of subshifts. We define the closure of U under a set of operations Op , denoted by C l Op ( U ), as the smallest set stable by Op which contains U .We say that a subshift T simulates a subshift T (cid:48) by Op if T (cid:48) ∈ C l Op ( T ). Thus there exists a finitesequence of operations chosen among Op , that transforms T into T (cid:48) . We note it by T (cid:48) ≤ Op T . Remark that C l Op ( T ) = { T (cid:48) : T (cid:48) ≤ Op T } . Local transformations
We describe three operations that locally modify a subshift T ⊆ A Z d . The new subshift resulting from theoperation will be a subset of B Z d , where B is a new alphabet.Product ( Prod ): Let T i ⊆ A Z d i for any i ∈ { , . . . , n } be n subshifts of the same dimension, define: Prod ( T , . . . , T n ) = T × · · · × T n ⊆ ( A × · · · × A n ) Z d . One has C l Prod ( FS ) = FS and C l Prod ( SFT ) =
SFT . inite type ( FT ): These operations consist in adding a finite number of forbidden patterns to the initialsubshift. Formally, let A be an alphabet, P ⊆ E d A be a finite subset and let T ⊆ A Z d be a subshift. ByProposition 1.1, there exists P (cid:48) such that T = T P (cid:48) . Define: FT P ( T ) = T P ∪ P (cid:48) . Note that FT P ( T ) could be empty if P prohibits too many patterns. By FT , one lists all operations onsubshifts which are obtained by this type of transformation.By definition of subshift of finite type, one has C l FT ( FS ) = SFT and C l FT ( FS ) = SFT .Factor (
Fact ): These operations allow to change the alphabet of a subshift by local modifications. Let A and B be two finite alphabets. A morphism π : A Z d → B Z d is a continuous function which commutes withthe shift action (i.e. σ i ◦ π = π ◦ σ i for all i ∈ Z d ). In fact, such a function can be defined locally [Hed69]:that is to say, there exists U ⊂ Z d finite, called neighborhood , and π : A U → B , called local function , suchthat π ( x ) i = π ( σ i ( x ) U ) for all i ∈ Z d .Let π : A Z d → B Z d be a factor and T ⊂ A Z d be a subshift, define: Fact π ( T ) = π ( T ) . By Fact , one lists all operations on subshifts which are obtained by this type of transformation.Example 1.1 shows that C l Fact ( SFT ) (cid:54) = SFT . Example C l Fact ( SFT ) (cid:54) = SFT ) . Consider the alphabet { , , } Z and define T = T { , , , } . Thefactor π such that π (0) = π (1) = 0 and π (2) = 2 transforms T into a subshift: π ( T ) = { x ∈ { , } Z : finite blocks of consecutive 0 are of even length } which is called the even shift . It is known that the even shift is not a subshift of finite type (see Example 2.1.9of [LM95]), since one need to exclude arbitrarily large blocks of consecutive 0’s of odd lengths to describe it. Definition.
A sofic subshift is a factor of a subshift of finite type. Thus, the set of sofic subshifts is S of ic = C l Fact ( SFT ).In [LM95], it is shown that sofic subshifts of dimension 1 are subshift which can be defined with a languageof forbidden patterns which is regular. The characterisation is unknown for multidimensional sofic subshifts.1.2.3.
Transformations of the group of the action
We describe an operation that modify the group on which the subshift is defined, thus we change thedimension of the subshift.Projective Subaction ( SA ): These operations allow to take the restriction of a subshift of A Z d according toa subgroup of Z d . Let G be a sub-group of Z d freely generated by u , u , . . . , u d (cid:48) ( d (cid:48) ≤ d ). Let T ⊆ A Z d bea subshift, define: SA G ( T ) = (cid:110) y ∈ A Z d (cid:48) : ∃ x ∈ T such that ∀ i , . . . , i d (cid:48) ∈ Z d (cid:48) , y i ,...,i d (cid:48) = x i u + ··· + i d (cid:48) u d (cid:48) (cid:111) . It is easy to prove that SA G ( T ) is a subshift of A Z d (cid:48) . One denotes by SA the set of all operations onsubshifts which are obtained by this type of operation.One verifies that C l SA ( SFT ) (cid:54) = SFT and C l SA ( SFT ) (cid:54) = S of ic (see respectively Example 1.2 and Exam-ple 1.3). Example C l SA ( SFT ) (cid:54) = SFT ) . We construct a subshift of finite type T ⊂ { , , } Z such that theprojective subaction of T on the sub-group ∆ = { ( x, y ) ∈ Z : y = x } ⊆ Z is not of finite type. In thisexample we want the subshift that appears on ∆ to be (cid:8) x ∈ { , , } Z : finite blocks of consecutive 0’s are of even length (cid:9) . Define F the following set of allowed patterns of size 4 ( . symbol may be 1 or 2 but not 0, blank symbol maybe 0,1 or 2):
01 0 12 0 20 1 ; . . . . . . ; .. . . . .. .. . . . ; 2 0 . . . .. ; . . . .. .. The alternation of 1 and 2 over and under the diagonal of 0 enables us to control the parity of 0 blocks.Define F as the set of elementary patterns of size 4 that are not in F . Then if we denote T = T F : SA ∆ ( T ) = (cid:8) x ∈ { , , } Z : blocks of consecutive 0’s are of even length (cid:9) which is not a subshift of finite type as explained in Example 1.1. Example C l SA ( SFT ) (cid:54) = S of ic ) . The non finite type subshift constructed in Example 1.2 is sofic, butit is possible to obtain non sofic subshifts. We construct a subshift of finite type T such that the projection SA ∆ ( T ) on the straight line y = x is not sofic. It is well known that in dimension 1, sofic subshift are exactlysubshifts whose language — see Definition 1.1 — is a regular language [LM95]. The language { a n b n : n ∈ N } is non-regular and so we construct a subshift of finite type T ⊆ A Z and a morphism π : A Z → { , a, b } Z such that the only allowed patterns in T (cid:48) = π ( T ) containing finite blocks of consecutive a ’s or b ’s are thoseof the form 2 n × n : 0 b . .. ba . .. a a n part from the b n part.Denote A = {∗ , a, b, , , , , } . We construct squares formed by any symbols except the symbol 0 whichforms a background.The symbols 1 , , ∗ only appears on a diagonal of the square, and the other diagonalcontains the a n b n part. The presence of the symbol 0 everywhere around a finite figure ensures that the twodiagonals cross in their middle, hence the figure pictured is a square. It is possible to describe a finite setof patterns where the only finite figures on the background formed by 0’s which are allowed are even sizesquares of the form: 0 0 0 0 0 0 0 00 ∗ . . . . . . b
00 4 . . . 1 1 . .. 2 00 ... 4 ∗ b a ∗ a . . . . . . ∗
00 0 0 0 0 0 0 0 ( ∗ ) e do not detail the entire set of allowed patterns, but the reader can easily deduce the missing patternsfrom those given below: Squares center: ∗ b ∗ b a ∗ a ∗ ∗ b a ∗
00 0 0 0Squares diagonals: ∗ ∗
14 4 ∗ b b b ∗ ∗
23 3 ∗ a a a ∗
10 4 ∗ ∗ b b b . . . and so on for the three other sides.Uniform domains: 0 0 00 0 00 0 0 1 1 11 1 11 1 1 2 2 22 2 22 2 2 3 3 33 3 33 3 3 4 4 44 4 44 4 4The only configurations one can construct with these allowed patterns are configurations of A Z with 0 ev-erywhere except in some places where there are arbitrarily large blocks of the form ( ∗ ), and the configurationsmade of the infinite pattern ( ∗ ). We denote by T this subshift of finite type.Let π denote the letter-to-letter morphism defined by π ( x ) = 0 for x ∈ {∗ , , , , } and π ( a ) = a , π ( b ) = b . Suppose that SA ∆ ( T ) is sofic. Since C l Fact ( S of ic ) = S of ic then π ( SA ∆ ( T )) would also be sofic,which is absurd since: π ( SA ∆ ( T )) = T { ba ;0 a m b n m (cid:54) = n } . So this construction proves that C l SA ( SFT ) (cid:54) = S of ic .The class of SFT is not stable under projective subaction and the class C l SA ( SFT ) is studied in [PS10].Nevertheless a stable class for this operation is known, it is the class of effective subshifts. This followsfrom the fact that projective subactions are special cases of factors of subactions, and by Theorem 3.1 andProposition 3.3 of [Hoc09] which establish that symbolic factors and subactions preserve effectiveness. Thatis to say C l SA ( RE ) = RE .With this formalism, the result of M. Hochman [Hoc09] can be written: C l Fact , SA ( SFT ) = RE . More precisely, he proves that C l Fact , SA ( SFT ∩ S d +2 ) ∩ S ≤ d = RE ∩ S ≤ d .In Theorem 3.1, we show that C l Fact , SA ( SFT ∩ S d +1 ) ∩ S ≤ d = RE ∩ S ≤ d . Moreover, there are examplesof effective subshifts which are not sofic so C l Fact ( SFT ∩ S d ) = S of ic ∩ S d (cid:54) = RE ∩ S d . Computation zones for Turing machines
In this section we explain how to construct computation zones for a Turing machine and how to use themto simulate calculations. A Turing machine is a model of calculation composed by a finite automaton – thehead of calculation – that moves on an infinite tape divided into boxes, each box containing a letter thatcan be modified by the head. A precise definition of Turing machine will be given in Subsection 2.1, andit will be explained how to code the behaviour of the machine thanks to local rules. The main problemis that this SFT is not enough to code calculations of the machine, since there is no rule that ensures thecalculation is well initialized. So we need to embed calculations into specific zones. To make sure that thesize of these computation zones is not a constraint and does not prematurely stop a calculation, we constructarbitrarily large computation zones with a sofic subshift in Subsection 2.2 and we implement the local rulesof the Turing machine in these zones in Subsection 2.6. .1. Local rules to code the behaviour of a Turing machine
In this article, we consider Turing machines with some restrictions: the behaviour of the machine will besimulated only on the empty word (originally the tape only contains blank symbols (cid:93) ). We also assume thatthe head cannot go to the left of the initial position. Note that we can impose these restrictions without lossof generality. First we recall the formal definition of a Turing machine. Remember that a Turing machine isa model of calculation composed by a finite automaton – the head of calculation – that can be in differentstates and moves on an infinite tape divided into boxes, each box containing a letter that can be modifiedby the head.
Definition.
Let M = ( Q, Γ , (cid:93), q , δ, Q F ) be a Turing machine, where: • Q is a finite set of states of the head of calculation; q ∈ Q is the initial state; • Γ is a finite alphabet; • (cid:93) / ∈ Γ is the blank symbol, with which the tape is initially filled; end of any enumerated word; • δ : Q × Γ → Q × Γ × {← , · , →} is the transition function. Given the state of the head of calculationand the letter it can read on the tape — which thus depends on the position of the head of calculationon the tape — the letter on the tape is replaced or not by another one, the head of calculation movesor not to an adjacent box and changes or not of state; • F ⊂ Q F is the set of final states — when a final state is reached, the calculation stops. Example . We consider the Turing machine M ex that enumerates on its tape the words ab, aabb, aaabbb, . . . and never halts. This machine uses the three letters alphabet { a, b, (cid:107)} and five states Q = { q , q a+ , q b+ , q b++ , q (cid:107) } .A separation symbol (cid:107) is written at the end of each a n b n . The transition function δ ex is δ ex ( q , (cid:93) ) = ( q b+ , a, → ) δ ex ( q b+ , (cid:93) ) = ( q (cid:107) , b, → ) δ ex ( q (cid:107) , (cid:93) ) = ( q (cid:107) , (cid:107) , . ) Initialization of the tape: the machine writes the first word ab on the tape and place the head on the separation symbol (cid:107) to the right of the word. δ ex ( q (cid:107) , (cid:107) ) = ( q (cid:107) , (cid:107) , ← ) δ ex ( q (cid:107) , b ) = ( q (cid:107) , b, ← ) δ ex ( q (cid:107) , a ) = ( q a+ , a, → ) Suppose some word a n b n (cid:107) is written on the tape, and thatthe head is on the (cid:107) symbol in state q (cid:107) . The machine looksfor the rightmost symbol a in a n b n . δ ex ( q a+ , b ) = ( q b++ , a, → ) δ ex ( q b++ , b ) = ( q b++ , b, → ) δ ex ( q b++ , (cid:107) ) = ( q b+ , b, → ) The machine replaces the leftmost symbol b by a symbol aand looks for the separation symbol (cid:107) on the right of theword. Once it has found it, it is replaced by bb (cid:107) . The word a n +1 b n +1 (cid:107) is now written on the tape and the head is onthe (cid:107) symbol in state q (cid:107) .A calculation of this machine on an empty tape will always go through the configurations of the taperepresented in figure 1.If an origin is given it is straightforward to describe the behaviour of a Turing machine with a set oftwo-dimensional patterns. The first dimension stands for the tape and second dimension for time evolution.We obtain the space time diagram of computation of M which can be construct locally by 3 × • If the pattern codes a part of the tape on which the head of calculation does not act, the two line ofallowed pattern are identical and for x, y, z ∈ Γ one has: x y zx y z • If the head of calculation is present in the part of the tape coded, we code the modification given bythe Turing machine. For example the rule δ ( q , x ) = ( q , y, ← ) will be coded by:( q , z ) y z (cid:48) z ( q , x ) z (cid:48) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . (cid:93) a a a a b ( q b++ , b ) (cid:107) (cid:93) (cid:93) . . .. . . (cid:93) a a a a ( q b++ , b ) b (cid:107) (cid:93) (cid:93) . . .. . . (cid:93) a a a ( q a+ , b ) b b (cid:107) (cid:93) (cid:93) . . .. . . (cid:93) a a ( q (cid:107) , a ) b b b (cid:107) (cid:93) (cid:93) . . .. . . (cid:93) a a a ( q (cid:107) , b ) b b (cid:107) (cid:93) (cid:93) . . .. . . (cid:93) a a a b ( q (cid:107) , b ) b (cid:107) (cid:93) (cid:93) . . .. . . (cid:93) a a a b b ( q (cid:107) , b ) (cid:107) (cid:93) (cid:93) . . .. . . (cid:93) a a a b b b ( q (cid:107) , (cid:107) ) (cid:93) (cid:93) . . .. . . (cid:93) a a a b b b ( q (cid:107) , (cid:93) ) (cid:93) (cid:93) . . .. . . (cid:93) a a a b b ( q b+ , (cid:93) ) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a a a b ( q b++ , (cid:107) ) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a a a ( q b++ , b ) (cid:107) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a a ( q a+ , b ) b (cid:107) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a ( q (cid:107) , a ) b b (cid:107) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a a ( q (cid:107) , b ) b (cid:107) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a a b ( q (cid:107) , b ) (cid:107) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a a b b ( q (cid:107) , (cid:107) ) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a a b b ( q (cid:107) , (cid:93) ) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a a b ( q b+ , (cid:93) ) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a a ( q b++ , (cid:107) ) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a ( q a+ , b ) (cid:107) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) ( q (cid:107) , a ) b (cid:107) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a ( q (cid:107) , b ) (cid:107) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a b ( q (cid:107) , (cid:107) ) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a b ( q (cid:107) , (cid:93) ) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) a ( q b+ , (cid:93) ) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) . . .. . . (cid:93) ( q , (cid:93) ) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) (cid:93) . . . Figure 1.
A calculation of this machine on an empty tape will always go through theconfigurations of the tape.Denote by P M the set of forbidden patterns on the alphabet A M = Γ ∪ ( Q × Γ) constructed accordingto the rules of M – patterns that cannot be seen as coming from the transition function as above. We canassume that the support of all patterns in P M have the following type: . For example, with thisassumption the rule δ ( q , x ) = ( q , y, ← ) becomes: yz ( q , x ) z (cid:48) ( q , z ) t z ( q , x ) z (cid:48) ( q , x ) z (cid:48) z (cid:48)(cid:48) Consider now the subshift of finite type T P M . It contains an element that is exactly the space time diagramof computation of M , but also many other elements that are inconsistent. With the Turing machine M ex of Example 2.1, the SFT T P M ex contains an element where the following configuration of the tape appears . . . (cid:93) . . . (cid:93) a b b b b b ( q (cid:107) , (cid:107) ) (cid:93) . . . (cid:93) . . . but this configuration is inconsistent since it is never reached by a calculation of M ex .The problem comes from the lack of information about the beginning of a calculation. We need to specifya point in Z that stands for the origin of a calculation – the head of calculation is in the initial state q ,and the row is filled with blank symbols (cid:93) .By compactness of the set of configurations of a subshift, it is impossible to impose that a special symbolappears exactly once in every configuration. A substitutive sofic subshift as grid of computation
A classical problem in tiling theory is the construction of aperiodic tilings, that are sets of tiles that can onlyproduce aperiodic configurations. A first example was initially given by Berger, who proved that the dominoproblem (is it possible to tile the whole plane with a given finite set of tiles?) is undecidable (see [Ber66] forthe original proof by Berger and [Rob71] for Robinson’s proof with a smaller set of tiles). Robinson reducesthis problem to the Turing machine halting problem, which is known to be undecidable. The heart of theproof is the construction of an aperiodic tiling, which codes computation zones for Turing machines. Thesecomputation zones are all finite, but for any calculation of a Turing machine that stops, it is possible tofind a zone large enough that contains it. Robinson entirely describes a finite set of tiles that produces thetiling, but there are many techniques to obtain it: Mozes [Moz89] gives a proof based on substitutions and urand, Romashchenko and Shen [DRS08] propose a proof based on Kleene’s fixed point theorem. We heredefine computation zones for Turing machine with a two dimensional substitution.Definition of the substitution s Grid . Let A be a finite alphabet. A ( k, k (cid:48) ) -two dimensional substitution is afunction s : A → A U k,k (cid:48) where U k,k (cid:48) = [0 , k − × [0 , k (cid:48) − s to a function s n,n (cid:48) : A U n,n (cid:48) → A U nk,n (cid:48) k (cid:48) by identifying A U nk,n (cid:48) k (cid:48) with ( A U k,k (cid:48) ) U n,n (cid:48) . Starting from a letter placed in (1 , ∈ Z andapplying successively s, s k,k (cid:48) , . . . , s k n − ,k (cid:48) n − we obtain a sequence of patterns in A U ki,k (cid:48) i for i ∈ { , . . . , n } .Such patterns are called s -patterns . Note that the substitutions s we define here are deterministic but onecan imagine non deterministic substitutions replacing the function s by a set of substitution rules, where aletter may have different images by the substitution. The definition of s -patterns naturally extends to nondeterministic substitutions.To describe the grid of computation, we consider two alphabets G and G (see Figure 2). The alphabet G = { , , , } describes the zones of computation, , and are called computation boxes where the computation holds and are called communication boxes through which computation boxes cansend information. More precisely, and are called border computation boxes . The alphabet G isconstituted by lines which describe communication channels between the different zones of computation. G G Figure 2.
The alphabets G and G on which the substitution is defined.We define two (4 , s on G and s on G (see Figure 3 for the substitutionrules). Then, we define the product substitution s Grid = s × s on G × G . Iterations of s Grid on any patternof G × G produce arbitrarily large computation zones with communication channels between them (thiswill be detailed in Section 2.4 and Section 2.7). See Figure 4 for an example of an iteration of s Grid . Figure 3.
Basic elements to define the substitution rules of s . The first row lists thesubstitution rules of s on the alphabet G . The second and third rows contain substitutionrules of s on some of the letters of G . All substitution rules of s on G can be obtainedby superimposing a substitution rule of the second row and a substitution rule of the thirdrow. One can deduce substitution rules of s Grid on the alphabet G × G by superimposinga rule of s on G and a rule of s on G . igure 4. Four iterations of the substitution s Grid starting from an element of G × G .We denote by π G (resp. π G ) the projection on G (resp. G ).Sofic subshift generated by the substitution. Given a substitution s , recall that a s -pattern is a patternobtained by iteration of the substitution s on a letter (for instance in Figure 4 are drawn s -patterns obtainedafter four iterations on the letter ). The subshift generated by a substitution s , denoted T s , is the set ofconfigurations x such that any pattern that appears in x also appears in a s -pattern.S. Mozes studied more general substitutions – non deterministic ones and substitution rules may be ofdifferent sizes – and proved that if the substitution s satisfies some good property and has only strictlytwo-dimensional substitution rules, then T s is a sofic subshift (see Theorem 4.1 of [Moz89]). In particularMozes theorem can be applied for all deterministic substitutions, that is to say that all letter have only oneimage, like s Grid . As a consequence, the following holds
Fact 2.1.
The subshift generated by s Grid , T Grid = T s Grid = (cid:110) x ∈ ( G × G ) Z : for all u (cid:60) x there exists n ∈ N such that u (cid:60) s n Grid ( ) (cid:111) is a two-dimensional sofic subshift.Remark.
Note that π G ( T Grid ) = T s and π G ( T Grid ) = T s but T Grid is different of T s × T s .A substitution s : A → A U k,k (cid:48) may be extended into an application (cid:101) s : A Z → A Z . This substitution has unique derivation if for every element x ∈ T s there exists an unique y ∈ A Z and an unique i ∈ U k,k (cid:48) suchthat (cid:101) s ( y ) = σ i ( x ).Since the pattern appears in each rules of the substitutions s , for every configuration x ∈ T s , thereexists ( i, j ) ∈ [0 , × [0 ,
1] such that x { n + i +1 }× [ n + j +1 ,n + j +2] = for all ( n , n ) ∈ N × N . Moreover thispattern cannot appear in other position so ( i, j ) is chosen in an unique way. Consider the plane partition([ n + i, n + i + 3] × [ n + j, n + j + 1]) ( n ,n ) ∈ N × N of the configuration x , since all boxes have different imageby the substitution, this plane partition gives an unique antecedent y by (cid:101) s . We deduce that (cid:101) s ( y ) = σ i,j ( x ).Thus T s has unique derivation. The same type of reasoning holds for ‹ s . Fact 2.2.
The substitutions s and s have unique derivation. Use of communication channels A communication channel is a sequence of adjacent boxes marked by a special symbol – we call these markedboxes channel boxes . The channel begins and ends with two computation boxes. In our construction, thechannel boxes are of two types which can appear in the same box: • communication boxes from alphabet G that will be used for internal communication and com-munication between adjacent Turing machines; • symbols from alphabet G that will be used for communication between non adjacent Turing ma-chines.A transfer of information consists in three objects (see Figure 5): • an initial computation box denoted i and a final computation box denoted f fc Figure 5.
A communication channel denoted c between the computation boxes i and f . • local rules that determine the symbol transferred through a channel, depending on the direction ofthe channel starting from i (resp.reaching f ) and the symbol contained in the box i (resp. in thebox f ) • a communication channel c .Two adjacent communication boxes carry the same symbol, which is transferred through the channel.Note that the computation boxes i and f are not necessary identical – for example a rule local may makea change at the end of the communication channel. The same computation box may be at the extremity ofdifferent communication channels.Note that a communication box may belong to multiple communication channels, but this number mustbe bounded – in our construction the maximum number of channels going through a communication box willbe 3 – internal communication inside a computation zone, communication between two adjacent computationzones of same level and communication between computation zones of different levels. Fact 2.3.
Given a subshift Σ that contains communication channels, it is possible to code transfers ofinformation through these channels thanks to a product and a finite type operations, provided the symbolstransferred locally depend on the symbol contained in the initial and final computation boxes of the channel. Description of computation zones
In this section we only consider the G part of the sofic subshift T Grid . We here describe the grid wherecomputations hold for an element of π G ( T Grid ): horizontal dimension stands for the tape and verticaldimension for time evolution. On a horizontal line, a zone of computation is constituted by a group ofcomputation boxes located between on the left and on the right. The size of a computationzone is the number of computation boxes which constitute the zone.Consider a configuration x ∈ T Grid and a computation zone in x . Since s has unique derivation (seeFact 2.2) for any integer n , there exists a unique way to partition x into 4 n × n rectangles so that each ofthese rectangles is a s n ( a ) for some a ∈ G . So there exists a minimal integer n such that the computationzone of x appears in s n ( a ) for some a ∈ G . We call this integer the level of the computation zone (seeFigure 6).At the iteration n of the substitution on , that is to say s n ( ), we obtained a rectangle of size4 n × n . By induction, for all m ∈ [1 , n ], we get 4 n − m ∗ n − m = 8 n − m zones of computation of level m in s n ( ), the size of these zones of computation is 2 m . More precisely, if on the line j ∈ [0 , n −
1] of s n ( )we find a zone of computation of level m , then in this line we have 4 n − m zones of computation of level m .Moreover for each computation box located at the coordinate ( i, j ), the next computation box in the samecolumn above the current one is separated by 2 m − i, j + 2 m ), and this computation box is in a zone of computation of level m at the same place that the boxat the position ( i, j ). There is the same phenomena if we look down. The set of zones of computation of thesame size 2 m on a vertical line is called a strip of computation of size 2 m .For any other symbol a ∈ G , the description is the same except for the bottom row. Remark.
Note that it is possible to have a symbol on a row with no symbol on its right – that isto say an infinite computation zone. In this case the computation zone has an infinite level. igure 6. Four iterations of the substitution s Grid . Computation zones of level 1,2 and 3appear on the last pattern. The computation boxes of the first (resp. second and third)level are pictured with plain (resp. hashed with SW-NE lines and hashed with NW-SE lines)pattern.
Fact 2.4.
Consider x ∈ T Grid and C n a computation zone of level n of x . We assume that C n appears inthe i th row of x , and we denote this row by x Z ×{ i } . Then the following properties hold – remember that inthis section we only consider the G part of the subshift T Grid : (1) C n contains n computation boxes, separated by communication boxes; (2) on x Z ×{ i } there are only computation zones of level n , separated by n − communication boxes; (3) the row x Z ×{ i } is repeated vertically every n rows, that is to say x Z ×{ i } = x Z ×{ i + k × n } for anyinteger k ∈ Z ; (4) vertically, between every pair of consecutive computation boxes of x Z ×{ i } and x Z ×{ i + k × n } , there areonly n − communication boxes. We now explain how it is possible for two computation boxes of the same computation zone and for twoadjacent strips to communicate.Communication inside a strip. Two computation zones in the same computation strip of level n communicatethanks to communication boxes of the 2 n − ∗ n − − n communicationboxes (horizontal transfer of information).Figure 7 represents a computation grid where all zones of computation of the same size share the samecolor and are filled with the same pattern.Communication between two adjacent strips. Two strips of computation of same level can also communicateif they are adjacent – that is the leftmost computation box of the first strip and the rightmost computationbox of the second strip are only separated by communication boxes. Fact 2.5.
Communication boxes contain two communication channels – horizontal and vertical channels.Thanks to these channels, computation boxes into a same strip and two adjacent strips can communicate.
Initialization of calculations : the clock
The computation strips described in the previous section are restricted in space but not in time, hence incon-sistent configurations of a Turing machine may appear. To solve this problem, we equip each computationstrip with a clock, that will be reinitialized periodically. At each step of calculation, the clock is increasedand when it is reinitialized, the Turing machine starts a new calculation.We use a four elements alphabet C = { , , ∅ , ∼} to construct a sofic subshift T Clock obtained by addingfinite type rules on
Prod Ä T Grid , C Z ä , where T Grid is the sofic subshift described in Section 2.2. Denote π C the projection on the second coordinate. The clock is actually a finite automaton that simulates binaryaddition modulo 2 n on a 2 n boxes tape — special symbol ∅ corresponds to the carry in binary addition,and symbol ∼ is used to synchronize adjacent computation zones of same level. To prevent the appearanceof inconsistent states on the clock, we forbid the patterns ∅ ∅ ∅ , x ∼ and ∼ x where x ∈ { , , ∅} — we call this finite type condition Consist . igure 7. Computation grid with the communication between disconnected parts of thesame computation zone. Computation zones of level 1,2 and 3 are pictured with threedifferent colors and patterns. On a given row there are only computation zones of the samelevel, and there are 2 n rows between two rows with level n computation zones. A row of astrip of computation of level n is made of 2 n boxes arranged into a 2 ∗ n − wide block ofboxes. The two ways of communication (horizontal and vertical) are pictured with arrowswhose color corresponds to the level of the computation zone or strip. ∼ ∼ ∼ ∼∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ ∅ Figure 8.
On the left, an example of the evolution of the clock for a computation zone ofsize 2 . On the middle the evolution of a part of this clock on a level 2 computation strip:on the tape are successively written 001 ∅ , 0011, 01 ∅∅ and 0101. And on the right, some ofthe finite type conditions Count , represented by the allowed patterns, added to the soficsubshift T Grid to obtain the sofic subshift T Clock .We describe the finite type conditions
Count on the alphabet G × C in Figure 8.The clocks of different computation levels evolve according to the rules described in Figure 8, and whena symbol ∅ reaches the left most computation box , it is reinitialized. Before reinitialization, the clockpasses through the configuration with only ∼ symbols on the tape. Thanks to this configuration, it is possibleto synchronize a clock on a strip of level n with its two neighbours of level n . For example the clock fora computation strip of level 1 will be 00 , , ∅ , , ∅∅ , ∼∼ , , . . . Hence a clock for a computation strip oflevel n is reinitialized after 2 n + 2 steps.To these local rules we add another finite type condition called Synchro , that ensures that clocks cor-responding to computation zones on the same level are synchronized, that is they are in the same state atevery calculation step – on a same row, all the clocks are in the same state. This can be easily done by the ollowing way: a clock is in the configuration ∼ · · · ∼ only when its left and right neighbours are in the sameconfiguration – a signal carrying symbol ∼ is sent through communication channel between neighbours. Wethus obtain a sofic subshift T Clock = FT Count ∪ Consist ∪ Synchro Ä Prod Ä T Grid , C Z ää in which every computation strip of T Grid is now equipped with a clock. Note that we do not impose clocksfor different levels of computation zones to be somehow synchronized.
Fact 2.6.
Consider the sofic subshift T Clock , in the interior of a strip of computation of level n which is ofsize n , the clock is initialized every n + 2 on computation zone of level n . A sofic subshift to describe Turing machines behaviour
We are going to use the subshift T Clock constructed in Section 2.5 to construct a sofic subshift where thecomputation of M in a space 2 n holds on each strip of computation of size 2 n , for all n ∈ N ∗ . We want toapply the rules of P M to adjacent computation boxes that may be separated by a sequel of communicationboxes. As explained in Section 2.3 information may be transferred through communication boxes horizontallyand vertically. The space of computation of M is restricted by on the left and by on the right. Westart again with the sofic subshift T Clock defined in Section 2.5, into the product subshift
Prod Ä T Clock , ˜ A Z ä where ˜ A = A M ∪ ( A M × A M × A M ). A symbol in ˜ A may be either a symbol of A M inside a computationbox or three symbols of A M transferred – horizontally for the first and the second and vertically for the third– through a communication box. We have defined π G , π G and π C respectively the projections on G , G and C in the first coordinate of Prod Ä T Clock , ˜ A Z ä . Moreover denote π ˜ A the projection on the second coordinateof Prod Ä T Clock , ˜ A Z ä , if we are in a communication box, we can write π ˜ A , π ˜ A and π ˜ A respecively for thefirst, second and third coordinate of A M × A M × A M .To the sofic-subshift Prod Ä T Clock , ˜ A Z ä , we add the following finite conditions, the support of all forbid-den patterns have the following form: ab c de with a, b, c, d, e ∈ G × G × C × ˜ A The conditions are: • if the center box corresponds to a communication box in T Clock , that is to say π G ( c ) = , one usesconditions Transfer : the first and second coordinates are constant along the central row, and thethird coordinate is constant along the central comlumn – more precisely π ˜ A ( b ) = π ˜ A ( c ) = π ˜ A ( d ), π ˜ A ( b ) = π ˜ A ( c ) = π ˜ A ( d ) and π ˜ A ( a ) = π ˜ A ( c ) = π ˜ A ( e ), these conditions hold if all boxes inthe neighborhood are communication boxes, in fact, if there is a computation box, we just use theprojection π ˜ A ; • if the center box corresponds to a computation box in T Clock , that is to say π G ( c ) ∈ { , , } ,one uses one of the followings conditions: – conditions Init : when the clock is in a initial state, there is the blank symbol (cid:93) on each boxand the tape is in the initial state on the left computation box – more precisely ∗ if π C ( c ) = ∼ and π G ( c ) = then π ˜ A ( c ) = π ˜ A ( d ) = π ˜ A ( b ) = π ˜ A ( a ) = ( q , (cid:93) ), ∗ if π C ( c ) = ∼ and π G ( c ) ∈ { , } then π ˜ A ( c ) = π ˜ A ( d ) = π ˜ A ( b ) = π ˜ A ( a ) = (cid:93) ; – conditions Comp : we use the rules described in P M if the clock is not in the initial state –more precisely ∗ if π C ( c ) (cid:54) = ∼ and π G ( c ) = then π ˜ A ( a ) π ˜ A ( b ) π ˜ A ( c ) π ˜ A ( d ) ∈ P M , π ˜ A ( c ) = π ˜ A ( b ) = π ˜ A ( d ) and π ˜ A ( c ) = π ˜ A ( e ) , ∗ if π C ( c ) (cid:54) = ∼ , π G ( c ) = and the third coordinate of δ ( π ˜ A ( c )) is different from ← , thatis to say the transition function of the Turing machine does not move the head toward he left, then π ˜ A ( a ) (cid:93) π ˜ A ( c ) π ˜ A ( d ) ∈ P M , π ˜ A ( c ) = π ˜ A ( b ) = π ˜ A ( d ) and π ˜ A ( c ) = π ˜ A ( e ) , if π C ( c ) (cid:54) = ∼ , π G ( c ) = and the third coordinate of δ ( π ˜ A ( c )) is different from → , thatis to say the transition function of the Turing machine does not move the head towardthe right, then π ˜ A ( a ) π ˜ A ( b ) π ˜ A ( c ) (cid:93) ∈ P M , π ˜ A ( c ) = π ˜ A ( b ) = π ˜ A ( d ) and π ˜ A ( c ) = π ˜ A ( e ); – conditions Bound : if the head wants to go to the left of the computation box or to the rightof the computation box , the head reaches a special state and the computation continues inan infinite loop until the computation is initiated by the clock – more precisely ∗ if π C ( c ) (cid:54) = ∼ , π G ( c ) = and the third coordinate of δ ( π ˜ A ( c )) is ← , then q Wait π ˜ A ( c ) π ˜ A ( d ) , π ˜ A ( c ) = π ˜ A ( b ) = π ˜ A ( d ) and π ˜ A ( c ) = π ˜ A ( e ); ∗ if π C ( c ) (cid:54) = ∼ , π G ( c ) = and the third coordinate of δ ( π ˜ A ( c )) is → , then q Wait π ˜ A ( b ) π ˜ A ( c ) , π ˜ A ( c ) = π ˜ A ( b ) = π ˜ A ( d ) and π ˜ A ( c ) = π ˜ A ( e ); ∗ if π C ( c ) (cid:54) = ∼ , π G ( c ) ∈ { , , } and π ˜ A = q Wait , then π ˜ A ( c ) = π ˜ A ( a ) = π ˜ A ( e ) = π ˜ A ( b ) = π ˜ A ( d ) = q Wait , ∗ if π C ( c ) (cid:54) = ∼ and π ˜ A ( b ) = q Wait or π ˜ A ( d ) = q Wait then π ˜ A ( c ) = q Wait .Define the sofic subshift T M : T M = FT Transfer ∪ Init ∪ Comp ∪ Bound Ä Prod Ä T Clock , ˜ A Z ää . For more convenience, we gather the local rules
Transfer , Init , Comp and
Bound in Work M , and theconstruction is summed up by: T M = FT Work M Ä Prod Ä T Grid , A Z Comp ( M ) ää for any Turing machine M .On each strip of computation appears parts of the space time diagram of the calculation of M on the emptyword. Each part of these space time diagrams are limited in space by the size of the strip of computation andthe number of steps is bounded exponentially by the length of the strip. Thus we can find in T M arbitrarylarge part of space time diagram of M . Fact 2.7.
The subshift T M contains all calculations of the Turing machine M on space time diagram ofsize n × (cid:0) n + 2 (cid:1) – n boxes tape and n + 2 steps of calculation – starting with an empty entry word.Example . In this example the Turing machine M ex starts its enumeration with the word ab . The picturedescribes how a run is coded on a computation grid. If one only considers computation boxes of level 2, theyform a three by four computation zone (three steps of calculation on a four boxes tape). Communication channels between Turing machine of different levels
In the sequel computation strips will need to communicate. For two strips of the same level communicationit is easy since between two zones of computation of adjacent strips of level n , there are only communicationboxes. Then one bit of information can be exchanged between two adjacent strips of level n at each step ofcalculation (see Section 2.4). But if the two strips are not of the same level the problem is not as simple.We present in this section a communication grid that allows a strip of level n to communicate with a strip oflevel n − n + 1. This communication grid is based on the G part of the subshift T Grid .The lines obtained with the alphabet G are called communication lines . Communication between com-putation zones of different levels are made through these lines. Under the action of s , communication linesform rectangles. The two rectangles obtained after n iteration of an element of G are called communicationrectangles of level n . Each rectangle of level n intersects two rectangles of level n − n + 1. q , (cid:93) ) a ( q , (cid:93) ) aaaaa (cid:93) ( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) ) (cid:93) ( q b+ , (cid:93) ) aaa ( q , (cid:93) ) aaaaa (cid:93) ( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) ) ( q b+ , (cid:93) ) bb (cid:93) ( q (cid:107) , (cid:93) )( q (cid:107) , (cid:93) ) ( q , (cid:93) ) aaaaa (cid:93) ( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) ) (cid:93)(cid:93)(cid:93) (cid:93)(cid:93) ( q , (cid:93) ) aaaaa (cid:93) ( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) )( q b+ , (cid:93) ) (cid:93)(cid:93) Figure 9.
Calculation of a Turing machine on a computation grid with computation zonesof levels 1, 2 and 3. Remark that each ↑ or ↔ arrow actually carries a symbol, but for morereadability they are not pictured here. For the same reason the clock is also omitted.If we consider a border computation box (resp. ) in a computation zone of level n , it is inside acommunication rectangle of level n . Thus if we go horizontally on the left (resp. the right) of this box wemeet the left border (resp. the right border) of this rectangle. On the bottom and top lines of this rectangle,we encounter two border computation boxes ( and ) which are in two different computation zones oflevel n − communications channel of level n , that start from each bordercomputation box ( or ) of level n . The channel of communication goes on horizontally on the right andleft branches until it meets the right or left border of a communication rectangle which is necessary of level n . Then the channel goes up and follows the border of the rectangle until it meets a border computation box.This box is necessarily of level n −
1. Thus a computation zone can communicate with the four computationzones of the previous level which are included in itself (see Figure 10). These channels are used in Section 3.5to ensure communication between computation zones of different levels. We remark that zones of a level n repeat vertically with half the frequency of level n − n − Figure 10.
A computation grid with communication lines. The computation zone of level3 communicates with level 2 computation zones it contains. This communication is madethrough the level 3 communication rectangle inside which the left border computation boxis. Symmetrically, one can imagine that the right border communication box communicateswith two other level 2 computation zones, this in not pictured here. act 2.8. For any computation strip of level n , there are two communication channels starting from eachborder computation box or of level n and ending at a border computation box of level n − – oneand one . Starting from a computation zone of level n , the four computation strips of level n − associated can be reached by this way. Proof of the main theorem
The ideas of the proof of the main result of this article were presented in the Introduction. We give heretechnical details that rely on constructions presented in the previous sections. We want to prove the followingresult.
Theorem 3.1.
Any effective subshift of dimension d can be obtained with factor and projective subactionoperations from a subshift of finite type of dimension d + 1 . Thanks to the formalism of Section 1 and since RE is stable under Fact and SA operations, we rewriteit: C l Fact , SA ( SFT ∩ S d +1 ) ∩ S ≤ d = RE ∩ S ≤ d . This result improves Hochman’s [Hoc09] since our construction decreases the dimension.We here prove this statement in the particular case d = 1, but the proof can be easily extended to anydimension. Let Σ be a one dimensional effective subshift, defined on an alphabet A Σ . Construction of the four layers of SFT
We start with the two-dimensional fullshift A Σ Z with a spatial extension operation, and thanks to factor,product and finite type operations we construct a sofic subshift T Final such that after factor and projectivesubaction we obtain Σ. To do that, we eliminate configurations x such that x Z ×{ } contains a forbidden wordof Σ. Then the projective subaction that consists in only keeping the first coordinate of a two-dimensionalconfiguration x gives the subshift Σ.To resume the two-dimensional sofic subshift is made of four layers that are glued together thanks toproduct operations: • first layer contains A Z Σ and all horizontal lines are identical by finite condition Align , the otherlayers force the horizontal line to be an element of the effective subshift Σ, thus this subshift can beobtained after projective subaction (to keep horizontal line) and factor (to keep the first layer); • layer 2 contains the computation zones for Turing machines equipped with the clock (this constructionis described in Section 2), that will be used by both machines M Forbid and M Search ; but also thecommunication channels that will be used by the same machines to send requests (see Sections 3.4and 3.5); • layer 3 is devoted to Turing machines M Forbid , and communication with the Turing machines M Search (this part is described in Section 3.4); • layer 4 is devoted to Turing machines M Search and internal communication between these machines(see Section 3.5).Of course each of this layer depends on the others (for example layer 3 uses computation zones given bylayer 2), and the dependences are coded thanks to finite type operations.
Addresses in a strip
Since, on the first layer, each column is formed by one letter of A Σ , to check a word in an horizontalconfiguration, it is sufficient to check the first layer in the corresponding columns.Let C n be a computation zone of level n of an element x ∈ T Grid and let S n be the computation stripassociated. By Fact 2.2, there exists an unique i ∈ [0 , n − × [0 , n −
1] and an unique y ∈ T Grid such that s n Grid ( y ) = σ i ( x ) so there exists an unique ( j , j ) ∈ Z such that C n (cid:60) s n Grid ( y ( j ,j ) ). One has S n (cid:60) σ − i ( s n Grid ( y { j }× Z } )) (cid:60) x , the strip σ − i ( s n Grid ( y { j }× Z } )) is the dependency strip associated with thecomputation strip S n In T Grid the tape of a Turing machine in a strip of level n is fractured. Thus a Turing machine of level n cannot view all columns which are in its associated dependency strip. To get this information, this Turing igure 11. Four layers in the final construction.machine communicates with a Turing machine of lower level (see Section 3.5) but both machines need toprecisely identify a column.Given a dependency strip associated with a computation strip of level n , it is possible to describe thecoordinate relative to this strip of any column of the dependency strip by an address which contains n lettersin a four elements alphabet. Each s n ( a ) is horizontally decomposed into four (possibly different) s n − ( b )where a, b ∈ G . The first letter of the address indicates in which of these dependency stripes of size n − n letters(see Figure 12). 00 1 2 3 10 1 2 3 20 1 2 3 30 1 2 3 s n s n s n Figure 12.
Addresses of two boxes inside a dependency strip associated with a computationzone of level 3. The address of the column of the black box is 231 and for the grey box, theaddress of the column is 020.
Fact 3.2.
For every dependency strip associated with a computation strip of level n , it is possible to describethe position of any column by an address of length n on a four elements alphabet. Responsibility zones
On each computation zone a Turing machine makes calculations. The Turing machine M Forbid describedmore precisely in Section 3.4 enumerates patterns and then checks that these patterns never appear. Sinceit takes an infinite number of steps of calculation to check that one pattern does not appear in the entireconfiguration, each Turing machine M Forbid only checks a finite zone. The finite zone in which the machineensures that no forbidden pattern it produces appears is called the responsibility zone of the machine.We thus associate a responsibility zone with each strip of computation. For a strip of level n this re-sponsibility zone is 3 ∗ (2 ∗ n − ) = 6 ∗ n − wide and centered on the strip (see Figure 13), so that the esponsibility zone of a strip starts at the end of the strip of same level on its left and ends at the beginningof the strip of same level on its right. Figure 13.
Responsibility zones for strips of level 2. These zones are 24 boxes wide andoverlap on 8 boxes. The responsibility zone of the center strip starts at the end of the stripon its left and ends at the beginning of the strip on its right.Responsibility zones defined in this way overlap: two adjacent responsibility zones of same level n share2 ∗ n − boxes. These overlappings are essential: if they did not exist, one can imagine that a forbiddenpattern not entirely included in any responsibility zone would not be detected. Moreover the non boundedsize of overlappings ensures that any pattern is inside an infinite number of responsibility zones of increasinglevels. Generation and detection of forbidden patterns by M Forbid
Since Σ is recursively enumerable, there exists a Turing machine that enumerates the forbidden patterns ofΣ. We here describe a modified version of this Turing machine that also checks that no forbidden patternappears inside its responsibility zone, on the first level of the construction A Σ Z . Computation zones arenot connected (see Figure 9), so a calculation of M Forbid on a strip of computation of size 2 n cannot accessentirely its responsibility zone. The machine M Forbid needs the help of a second Turing machine M Search to obtain the patterns of A Σ Z written in its responsibility zone. The behaviour of M Forbid is the following:it enumerates as many forbidden patterns as the size of the computation zone allows, and each time such apattern is generated, M Forbid checks that it does not appear in its responsibility zone.Tapes of M Forbid . The machine M Forbid uses three tapes: • the first tape is the calculation tape ; • the second tape is a writing tape , where the forbidden patterns are successively written; • the last tape is the communication tape and contains successively the addresses of letters fromalphabet A Σ needed by M Forbid to check no forbidden pattern appears inside its responsibility zone; M Forbid waits for the required M Search machine of its neighbourhood (left, middle or right machine)to be available, then sends it the address of the letter it wants to access (see Section 3.5).Detection of the size of the responsibility zone associated. First, the Turing machine M Forbid detects thesize of the computation zone between and . Thus, M Forbid knows the size of its responsibility zone.This can be in linear time according to the size of the computation zone considered.Enumeration of forbidden patterns. Then, M Forbid enumerates forbidden patterns and each time it encounterone, it checks if this forbidden pattern appears in the associated responsibility zone before to enumerate thefollowing one. heck of the responsibility zone. Assume that the machine M Forbid has written on its writing tape a for-bidden pattern f = f f . . . f k − . Assume that M Forbid must check a responsibility zone of level n denoted a a . . . a ∗ n − − . It asks M Search for the first letter in its responsibility zone a (the principe of a requestis explained in Section 3.5), and compares it with f . If the letters coincide, then it is still possible that f appears in position 0 in the responsibility zone, so the comparison of the two patterns f and a . . . a k continues. If f (cid:54) = a then we are sure that f does not appear at this location. If f = a . . . a k , the Turingmachine M Forbid stops its computation and enter in a state which says that a forbidden patterns appears inthe checked configuration. This state will be forbidden in the final subshift of finite type. When the word a . . . a k − is checked, M Forbid continues the comparison with a . . . a k , . . . , a ∗ n − − k − . . . a ∗ n − − . Atmost, to check if f appears in the responsibility zone of level n , M Forbid takes 6 ∗ n − ∗ k ∗ t ( n ) where t ( n )is the time takes by M Search to answer a request of M Forbid ; the time t ( n ) is estimated in Section 3.5.Responsibility zone of M Forbid (cid:122) (cid:125)(cid:124) (cid:123) a a a . . . . . . . . . . . . a N f f f . . .f f f . . .f f f . . . Figure 14.
When a forbidden pattern f = f f . . . f k is generated by M Forbid ,comparisons with the patterns appearingin the responsibility zone of M Forbid aremade in parallel.
Scan of the entire responsibility zone by M Search
The Turing machine M Search is sent a request – that is to say a sequence of symbols which codes theaddress of a letter inside a responsibility zone of a M Forbid machine – by M Forbid each time an addressis totally written on the communication tape (the third tape of M Forbid ). The Turing machine M Search must respond the letter corresponding to the address inside the responsibility zone, on the first level of theconstruction A Σ Z . Note that the responsibility zone of a M Forbid machine of level n does not exactly matchwith the communication network of M Search machines of same level. Actually a M Forbid machine sharesits responsibility zone with three M Search machines, and depending on the address of the bit requested, the M Forbid sends its request to the appropriate M Search machine (see Figure 15 for an example).Tapes of M Search . The machine M Search of level n uses three tapes: • the first tape is the calculation tape ; • the second tape is the hierarchical request tape ; this is where the bits of an address transferred bythe M Search of level n + 1 are written. • the three last tapes are the left request tape , the center request tape and the right request tape whichcorrespond to the addresses of the bits asked by the Turing machine M Forbid of level n localizedrespectively to the left, inside and to the right of the communication strip of the machine M Search considered.Request sent by M Forbid . Each time that an address is written on the communication tape of a Turingmachine M Forbid , this machine sends this request to the corresponding M Search of the same level localized inthe same communication strip or in communication strips directly to the left or to the right. M Forbid sendsone bit composing the address every step of calculation, so that a level n Turing machine sends a bit every2 n rows – if we implement Turing machines in the subshift of finite type described in Section 2.6. Adjacent trips of same level can communicate by communication channels described in Section 2.4 using the fact thatin one row there is only computation zones of same level (see Fact 2.4). The bits of the address are sent oneby one, hence the transfer takes 2 n ∗ n rows since the size of the address of the request is n . The requestis written on the corresponding request tape. M Forbid waits for the answer of the corresponding M Search before to continue the computation.Request sent by M Search . A Turing machine M Search of level n ≥ M Search of level n − n Turing machine sends a bit every 2 n rows and thus it takes 2 n ∗ n rows to transfer the address of size n . The machine M Search of level n usescommunication channels described in Fact 2.8 to communicate: each border computation box andis surrounded by a rectangle of the same level n which communicates with border computation box of theprevious level n − M Search of level n successively responds to the different request tapes.The address of the request tape considered is copied on the computation tape, and the machine keeps inmemory to which request tape it is responding. If the machine M Search is of level 1, it directly reads theletter of A Σ . Otherwise the machine M Search of level n transmits the address to the corresponding machine M Search of level n −
1: the first letter of the address indicates which channel M Search must be used to sendthe continuation of the address, converted into a n − M Search of level n waits for the answer, which is obtained when a machine of level 1 isreached (see Figure 15). This letter must be transferred back until it finds the machine which initially madethe request. Figure 15.
An example of request by a M Forbid machine of level 3 – the computation zoneon the top of the picture. Depending on the address of the letter requested, M Forbid sendsits request to either the left, center or right M Search machine. On this example the M Forbid machine sends its request to the left M Search machine of level 3, which transmits it to a M Search machine of level 2 and finally to a M Search machine of level 1. This last machinecan answer the request.Transfer back of the information. When a Turing machine M Search obtains the bit corresponding to therequest, it transfers it by the communication channel to the Turing machine which made the request via therequest tapes. This operation is instantaneous for two reasons. First there is just one box of information totransmit. Secondly there is just one information on the channel since the corresponding Turing machine waitsfor an answer. A Turing machine M Search eventually answers the request of the Turing machine M Forbid of the same computation strip, since every M Search alternately works for M Forbid of same level and higherlevels M Search machines.Initialization of the computations. When the computation is initialized, it is important not to erase theaddresses on the request tapes, because Turing machines of higher levels may be waiting for an answer.Requests are only made toward lower level, so they are answered even if the address does not correspond toa real request.Another problem of initialization occurs when a Turing machine makes a request, but is initialized beforeto obtain its answer. Actually in this case we impose that once the Turing machine is initialized, it waitsfor the answer to its request from the previous computation before to begin a new one. ime taken by M Search to answer at a request. Denote t ( n ) the time that a machine M Search of level n needsto answer a request from M Forbid . Since a machine of level n makes a calculation step every 2 n rows, amachine M Search of level n needs 2 n ∗ t ( n ) rows to answer a request from M Forbid .A machine M Search of level n ≥ M Search of level n −
1: it transfers one byone the n − n rows, this takes n ∗ n rows. Then it waitsfor the M Search of level n − M Search of level n − n machine has to wait – in the worst case three M Forbid machines of level n − M Search of level n − M Forbid machines oflevel n −
1, this takes 3 × t ( n −
1) steps of calculation, before to work for the M Search of level n , this takes t ( n −
1) steps of calculation. Thus the number of rows used to answer at a request is given by2 n t ( n ) ≤ n ∗ n + 4 ∗ n − ∗ t ( n − . We deduce from the previous inequality that t ( n ) ≤ n n . Fact 3.3.
All requests of M Forbid of level n are handled by the M Search machine of same level in at most n n steps of calculation for large enough n . Time taken by M Forbid to check if a forbidden word appear. Assume that a Turing machine M Forbid mustcheck if a word f of size k appears in the responsibility zone associated. According to Section 3.4, this takes6 ∗ n − ∗ k ∗ t ( n ) ≤ k ∗ n ∗ n +1 steps of calculation.Let ( f i ) i ∈ N be the enumeration of forbidden patterns by M Forbid . Denote t ( f , . . . , f k ) the time taken by M Forbid to scan if the words ( f i ) i ∈ [0 ,k ] appear in the responsibility zone associated and denote t (cid:48) ( f , . . . , f k )the time taken by M Forbid to compute the words ( f i ) i ∈ [0 ,k ] without scaning the responsibility zone. Thus,the time taken by a Turing machine M Forbid of level n to scan the words ( f i ) i ∈ [0 ,k ] is given by t ( f , . . . , f k ) ≤ t (cid:48) ( f , . . . , f k ) + ( k + 1) ∗ max {| f i | : i ∈ [0 , k ] } ∗ n ∗ n +1 . Since t (cid:48) ( f , . . . , f k ) does not depend of the level of M Forbid and since by Fact 2.7 a machine M Forbid of level n could make 2 n + 2 steps of calculation, there exists a level n such that all Turing machines of level n checkthat the words ( f i ) i ∈ [0 ,k ] does not appear in their responsibility zones. Fact 3.4.
For all forbidden word of Σ , there exists n ∈ N such that every turing machine M Forbid of level n checks that the word does not appear in its responsibility zone. The final construction
We sum up the construction of the final subshift:(1) First, we construct the four layers: T Level = Prod Ä A Z , T Grid , A Z Comp( M Forbid ) , A Z Comp( M Search ) ä ;(2) then, we align all the letter of the first layer to obtain the same configuration horizontally T Align = FT Align ( T Level );(3) finally, we include the working of M Forbid and M Search thanks to
Work M Forbid ∪ Work M Search andwe include the communication between the different layers thanks to
Com . Moreover, we includethe condition
Forbid which exclude the configuration when M Forbid encounters a forbidden pattern.We obtain: T Final = FT Work M Forbid ∪ Work M Search ∪ Com ∪ Forbid (cid:0) T Align (cid:1) . The alphabet of T Final depends of the Turing machine which enumerates the forbidden patterns of Σ,it is O (( q.a ) ) where q is the number of states and a the cardinal of the alphabet of this Turing machine.Moreover the support of the forbidden patterns of T Final have the following shape .We denote by T the subshift Fact π ( SA Z e ( T Final )) where π is a morphism that only keeps letters fromalphabet A Σ from the first layer. We want to compare Σ and T .Any configuration in Σ can be obtained (Σ ⊆ T ): Let x ∈ Σ, by construction of T Final it is easy to constructa two-dimensional configuration y such that y ∈ T Final and π ( y | Z e ) = x . ny configuration constructed is in Σ ( T ⊆ Σ): Let x ∈ T , we prove that x ∈ Σ. By definition there exists y ∈ T Final such that π ( y | Z e ) = x . It is sufficient to prove that every word in x is in L (Σ). Let w be aword that appears in x . Suppose that w is not in L (Σ), by Fact 3.4, there exists n ∈ N such that in anycomputation strip of level n , the word w is checked in the associated dependency strip. In particular theword w will be compared with any word of length | w | that appears in x . Since w appears in x , there would bea computation strip of level n in which the calculation of M Forbid violates the finite type condition
Forbid .This proves the inclusion T ⊆ Σ. Effective subshift as sub-action of a two-dimensional sofic
In fact the previous construction gives a more general result. If we consider SA Z e : π ( T Final ) −→ Σ x (cid:55)−→ x Z ×{ } it is a continuous bijective map. Indeed, for all x ∈ π ( T Final ), one has x ( i,k ) = x ( j,k ) for all i, j, k ∈ Z sinceby condition Align all columns contain the same symbol. Moreover, SA Z e ◦ σ e = σ Σ ◦ SA Z e , thus SA Z e realizes a conjugation between the dynamical system ( π ( T Final ) , σ e ) and (Σ , σ Σ ). We deduce the followingtheorem: Theorem 3.5.
Any effective subshift of dimension d is conjugate to a sub-action of a sofic subshift ofdimension d + 1 . Acknowledgements
The authors are grateful to Michael Schraudner for useful discussions and important remarks about theredaction. We also want to thank the anonymous referee for his rigorous and detailed review which helpedus to clarify the paper and Mike Boyle for some comments about sub-action concepts. Moreover, this researchis partially supported by projects ANR EMC and ANR SubTile.
References [AS09] Nathalie Aubrun and Mathieu Sablik. An order on sets of tilings corresponding to an order on languages. In , volume 3, pages 99–110, 2009.[Bea93] M.P. Beal.
Codage Symbolique . Masson, 1993.[Ber66] R. Berger.
The Undecidability of the Domino Problem . American Mathematical Society, 1966.[Boy08] M. Boyle. Open problems in symbolic dynamics.
Contemporary Mathematics , 468:69–118, 2008.[Dal74] Myers Dale. Nonrecursive tilings of the plane. ii.
The Journal of Symbolic Logic , 39(2):286–294, 1974.[DLS01] Bruno Durand, Leonid Levin, and Alexander Shen. Complex tilings. In
STOC ’01: Proceedings of the thirty-thirdannual ACM symposium on Theory of computing , pages 732–739, New York, NY, USA, 2001. ACM.[DRS08] Bruno Durand, Andrei E. Romashchenko, and Alexander Shen. Fixed point and aperiodic tilings. In
Developments inLanguage Theory , pages 276–288, 2008.[DRS10] Bruno Durand, Andrei E. Romashchenko, and Alexander Shen. Fixed-point tile sets and their applications.
CoRRabs/0910.2415, http://arxiv.org/abs/0910.2415 , 2010.[Han74] William Hanf. Nonrecursive tilings of the plane. i.
The Journal of Symbolic Logic , 39(2):283–285, 1974.[Hed69] GA Hedlund. Endomorphisms and automorphisms of the shift dynamical system.
Theory of Computing Systems ,3(4):320–375, 1969.[Hoc09] M. Hochman. On the Dynamics and Recursive Properties of Multidimensional Symbolic Systems.
Inventiones Math-ematicae , 176(1):131–167, 2009.[Kit98] B. Kitchens.
Symbolic dynamics . Springer New York, 1998.[LM95] D. Lind and B. Marcus.
An Introduction to Symbolic Dynamics and Coding . Cambridge University Press, 1995.[Moz89] S. Mozes. Tilings, substitution systems and dynamical systems generated by them.
Journal d’analysemath´ematique(Jerusalem) , 53:139–186, 1989.[PS10] R. Pavlov and M. Schraudner. Classification of sofic projective subdynamics of multidimensional shifts of finite type.
Submitted , 2010.[RJ87] H. Rogers Jr.
Theory of recursive functions and effective computability . MIT Press Cambridge, MA, USA, 1987.[Rob71] R.M. Robinson. Undecidability and nonperiodicity for tilings of the plane.
Inventiones Mathematicae , 12(3):177–209,1971. IP, ENS Lyon, 46 Alle d’Italie Lyon, 69364 Lyon Cedex, France
E-mail address : [email protected] URL : http://perso.ens-lyon.fr/nathalie.aubrun/ LATP, Aix-Marseille Universit´e, 39, rue F. Joliot Curie,13453 Marseille Cedex 13, France
E-mail address : [email protected] URL : ∼ sablik/sablik/