Tilings, Substitutions and Undecidability Mozes’ approach Bastien Le Gloannec (ENS Lyon, France) Nicolas Ollinger (LIF, Aix-Marseille Université, CNRS, France) JAC 2010, Turku . The Domino Problem (DP) . “Assume we are given a finite set of square plates of the same size with edges colored, each in a different manner. Suppose further there are infinitely many copies of each plate (plate type). We are not permitted to rotate or reflect a plate. The question is to find an effective procedure by which we can decide, for each given finite set of plates, whether we can cover up the whole plane (or, equivalently, an infinite quadrant thereof) with copies of the plates subject to the restriction that adjoining edges must have the same color.” (Wang, 1961) .a . . .b .c . .a .c .d .b .a .d .d . . 2/19 Undecidability of DP: a short history . 1964 Berger proves the undecidability of DP. Seminal self-similarity based proofs (reduction from HP): Berger, 1964 (20426 tiles, a full PhD thesis) Robinson, 1971 (56 tiles, 17 pages, long case analysis) Durand et al, 2007 (Kleene’s fixpoint existence argument) NO, 2008 (104 tiles, self-simulating 2-by-2 substitution) Tiling rows seen as transducer trace based proof: Kari, 2007 (affine maps, short concise proof, reduction from IP) 1-Systems tiling problem undecidable, 1-Systems seen as 2-Systems, 2-Systems seen as hex grid tilings: Aanderaa and Lewis, 1980 3/19 . Substitution Systems . A substitution system s = (Σ, R) associates letters from a finite alphabet Σ to rectangle(s) on Σ. { R= a→ e c f z o p ,x→ a r j o t g Σ = {. , . } } ,... Derivation relation ⊢ substitutes the letters of a rectangle, if possible: all the rules applied in a same row/column have the same height/width. ⊢ is naturally extended to .or . . .or . configurations of the plane (ΣZ ) and relaxed for shifts. 2 4/19 . Coloring the plane via substitutions . Limit set. Λs = ∩ s : . → → . . Sn . n >0 S0 Sn Z =Σ { andZ∀2 n > 1, } = c ∈ Σ |∃d ∈ Sn−1 , d ⊢ c 2 Λs is a subshift. ⊢ . Fact 1. c ∈ Λs iff ∃(ci )i>0 , · · · ⊢ c2 ⊢ c1 ⊢ c0 = c Idea. Encoding the whole history of a configuration into a tiling. . { } { ∪ ΛS = . } .y . .x x,y∈Z2 5/19 In . this talk We present Mozes’ construction to enforce rectangle substitutions into a tile set and an original application to the undecidability of DP: 1. enforcing rectangle substitutions (sketch) Theorem. Λs is sofic (projection of a set of tilings). 2. undecidability of DP, reducing from HP Theorem. DP is undecidable. We revisit Mozes’ work from [Mozes 89] Tilings, Substitution Systems and Dynamical Systems generated by them, Journal d’Analyse Math. 53: 139–186. using techniques from [Durand Romashchenko Shen 07] [NO 08] 6/19 1. enforcing rectangle substitutions . Letter tiles and parity layer . Letters from Σ are encoded by letter tiles containing: ∈ Σ; (2) a rule R ∈ R containing x in (1) a letter x its block; (3) a position (i, j) of x in the block of R. Letter tiles can encode Σ-configurations into tilings. Idea. Encode a whole history. Create space between letter tiles using a layer of parity tiles. a | ∈Σ R:b −→ {z ↙↘ .a . R ..(2, 1) c a e d e c a b c } .a . R ..(3, 3) . Parity tiles 8/19 . • Substitution s on tiles . We describe the tile set defining simultaneously a substitution s• over the tile set τ acting as s over Σ. s• transforms: . . j.. . .. e . z.. . .. c . x.. . s.. . v.. . .. q . l.. .1 .row .cross .block column Letter tiles encoding the configuration are arranged on odd-odd ( ) positions. (letters) into derivation blocks; into rows; into columns; are unchanged. . a . R .(i, j) .−→ . . .1 9/19 . Substituting letter tiles . R:a −→ x5,1 ··· x5,4 x1,1 ··· x1,4 .. . .. . .x5,1 .R .(5, 1) .x5,2 .R .(5, 2) .x5,3 .R .(5, 3) .x5,4 .R .(5, 4) .x4,1 .R .(4, 1) .x4,2 .R .(4, 2) .x4,3 .R .(4, 3) .x4,4 .R .(4, 4) .x3,1 .R .(3, 1) .x3,2 .R .(3, 2) .x3,3 .R .(3, 3) .x3,4 .R .(3, 4) .x2,1 .R .(2, 1) .x2,2 .R .(2, 2) .x2,3 .R .(2, 3) .x2,4 .R .(2, 4) .x1,1 .R .x1,2 .R .(1, 2) .x1,3 .R .(1, 3) .x1,4 .R .(1, 4) ..(1, 1) 10/19 . Substituting letter tiles . R:a −→ x5,1 ··· x5,4 x1,1 ··· x1,4 .. . .. . Internal connections gather letters of a same derivation block together. .x5,1 .R .(5, 1) .x5,2 .R .(5, 2) .x5,3 .R .(5, 3) .x5,4 .R .(5, 4) .x4,1 .R .(4, 1) .x4,2 .R .(4, 2) .x4,3 .R .(4, 3) .x4,4 .R .(4, 4) .x3,1 .R .(3, 1) .x3,2 .R .(3, 2) .x3,3 .R .(3, 3) .x3,4 .R .(3, 4) .x2,1 .R .(2, 1) .x2,2 .R .(2, 2) .x2,3 .R .(2, 3) .x2,4 .R .(2, 4) .x1,1 .R .x1,2 .R .(1, 2) .x1,3 .R .(1, 3) .x1,4 .R .(1, 4) ..(1, 1) 10/19 . Substituting letter tiles . R:a −→ x5,1 ··· x5,4 x1,1 ··· x1,4 .. . .. . Internal connections gather letters of a same derivation block together. Simple arrows meet their complementary on a free row. .x5,1 .R .(5, 1) .x5,2 .R .(5, 2) .x5,3 .R .(5, 3) .x5,4 .R .(5, 4) .x4,1 .R .(4, 1) .x4,2 .R .(4, 2) .x4,3 .R .(4, 3) .x4,4 .R .(4, 4) .x3,1 .R .(3, 1) .x3,2 .R .(3, 2) .x3,3 .R .(3, 3) .x3,4 .R .(3, 4) .x2,1 .R .(2, 1) .x2,2 .R .(2, 2) .x2,3 .R .(2, 3) .x2,4 .R .(2, 4) .x1,1 .R .x1,2 .R .(1, 2) .x1,3 .R .(1, 3) .x1,4 .R .(1, 4) ..(1, 1) 10/19 . Substituting letter tiles . R:a −→ x5,1 ··· x5,4 x1,1 ··· x1,4 .. . .. . Internal connections gather letters of a same derivation block together. Simple arrows meet their complementary on a free row. Combined arrows converge to a SW free position. .x5,1 .R .(5, 1) .x5,2 .R .(5, 2) .x5,3 .R .(5, 3) .x5,4 .R .(5, 4) .x4,1 .R .(4, 1) .x4,2 .R .(4, 2) .x4,3 .R .(4, 3) .x4,4 .R .(4, 4) .x3,1 .R .(3, 1) .x3,2 .R .(3, 2) .x3,3 .R .(3, 3) .x3,4 .R .(3, 4) .x2,1 .R .(2, 1) .x2,2 .R .(2, 2) .x2,3 .R .(2, 3) .x2,4 .R .(2, 4) .x1,1 .R .x1,2 .R .(1, 2) .x1,3 .R .(1, 3) .x1,4 .R .(1, 4) ..(1, 1) 10/19 . Substituting letter tiles . R:a −→ x5,1 ··· x5,4 x1,1 ··· x1,4 .. . .. . Internal connections gather letters of a same derivation block together. Simple arrows meet their complementary on a free row. Combined arrows converge to a SW free position. .x5,1 .R .(5, 1) .x5,2 .R .(5, 2) .x5,3 .R .(5, 3) .x5,4 .R .(5, 4) .x4,1 .R .(4, 1) .x4,2 .R .(4, 2) .x4,3 .R .(4, 3) .x4,4 .R .(4, 4) .x3,1 .R .(3, 1) .x3,2 .R .(3, 2) .x3,3 .R .(3, 3) .x3,4 .R .(3, 4) .x2,1 .R .(2, 1) .x2,2 .R .(2, 2) .x2,3 .R .(2, 3) .x2,4 .R .(2, 4) .x1,1 .R .x1,2 .R .(1, 2) .x1,3 .R .(1, 3) .x1,4 .R .(1, 4) ..(1, 1) 10/19 . Substituting letter tiles . R:a −→ x5,1 ··· x5,4 x1,1 ··· x1,4 .. . .. . Internal connections gather letters of a same derivation block together. Simple arrows meet their complementary on a free row. Combined arrows converge to a SW free position. Parent letter tile is enforced at that position… .x5,1 .R .(5, 1) .x5,2 .R .(5, 2) .x5,3 .R .(5, 3) .x5,4 .R .(5, 4) .x4,1 .R .(4, 1) .x4,2 .R .(4, 2) .x4,3 .R .(4, 3) .x4,4 .R .(4, 4) .x3,1 .R .(3, 1) .x3,2 .R .(3, 2) .x3,3 .R .(3, 3) .x3,4 .R .(3, 4) .x2,1 .R .(2, 1) .x2,2 .R .(2, 2) .x2,3 .R .(2, 3) .x2,4 .R .(2, 4) .x1,2 .R .(1, 2) .x1,3 .R .(1, 3) .x1,4 .R .(1, 4) .x1,1 .R ..(1, 1) .a .R0 (. i, j) 10/19 . Substituting letter tiles . R:a −→ x5,1 ··· x5,4 x1,1 ··· x1,4 .. . .. . Internal connections gather letters of a same derivation block together. Simple arrows meet their complementary on a free row. Combined arrows converge to a SW free position. Parent letter tile is enforced at that position… …and emits its own information to gather its own derivation block at superior level. .x5,1 .R .(5, 1) .x5,2 .R .(5, 2) .x5,3 .R .(5, 3) .x5,4 .R .(5, 4) .x4,1 .R .(4, 1) .x4,2 .R .(4, 2) .x4,3 .R .(4, 3) .x4,4 .R .(4, 4) .x3,1 .R .(3, 1) .x3,2 .R .(3, 2) .x3,3 .R .(3, 3) .x3,4 .R .(3, 4) .x2,1 .R .(2, 1) .x2,2 .R .(2, 2) .x2,3 .R .(2, 3) .x2,4 .R .(2, 4) .x1,2 .R .(1, 2) .x1,3 .R .(1, 3) .x1,4 .R .(1, 4) .x1,1 .R ..(1, 1) .a .R0 (. i, j) 10/19 . Substituting letter tiles . R:a −→ x5,1 ··· x5,4 x1,1 ··· x1,4 .. . .. . Internal connections gather letters of a same derivation block together. Simple arrows meet their complementary on a free row. Combined arrows converge to a SW free position. Parent letter tile is enforced at that position… …and emits its own information to gather its own derivation block at superior level. .x5,1 .R .(5, 1) .x5,2 .R .(5, 2) .x5,3 .R .(5, 3) .x5,4 .R .(5, 4) .x4,1 .R .(4, 1) .x4,2 .R .(4, 2) .x4,3 .R .(4, 3) .x4,4 .R .(4, 4) .x3,1 .R (. 3, 1) .x3,2 .R (. 3, 2) .x3,3 .R (. 3, 3) .x3,4 .R .(3, 4) .x2,1 .R .(2, 1) .x2,2 .R .(2, 2) .x2,3 .R .(2, 3) .x2,4 .R .(2, 4) .x1,2 .R .(1, 2) .x1,3 .R .(1, 3) .x1,4 .R .(1, 4) blank tile . .x1,1 .R ..(1, 1) .a .R0 (. i, j) 10/19 Substituting other tiles . .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) .d . S .(2, 2) ⊢ . .a . S ..(1, 1) 1. enforcing rectangle substitutions .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .c .S .(2, 1) .a .S .(1, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) . 1,1 e . 2,2 R (. 1, 1) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .x2,1 .R1,2 (. 2, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. 1,1 . 1,2 R (. 1, 1) .d .S .(2, 2) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) .d . S .(2, 2) ⊢ . .a . S ..(1, 1) 1. enforcing rectangle substitutions .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .c .S .(2, 1) .a .S .(1, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) . 1,1 e . 2,2 R (. 1, 1) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .x2,1 .R1,2 (. 2, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. 1,1 . 1,2 R (. 1, 1) .d .S .(2, 2) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) .d . S .(2, 2) ⊢ . .a . S ..(1, 1) 1. enforcing rectangle substitutions .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .c .S .(2, 1) .a .S .(1, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) . 1,1 e . 2,2 R (. 1, 1) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .x2,1 .R1,2 (. 2, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. 1,1 . 1,2 R (. 1, 1) .d .S .(2, 2) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) .d . S .(2, 2) ⊢ . .a . S ..(1, 1) 1. enforcing rectangle substitutions .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .c .S .(2, 1) .a .S .(1, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) . 1,1 e . 2,2 R (. 1, 1) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .x2,1 .R1,2 (. 2, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. 1,1 . 1,2 R (. 1, 1) .d .S .(2, 2) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) .d . S .(2, 2) ⊢ . .a . S ..(1, 1) 1. enforcing rectangle substitutions .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .c .S .(2, 1) .a .S .(1, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) . 1,1 e . 2,2 R (. 1, 1) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .x2,1 .R1,2 (. 2, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. 1,1 . 1,2 R (. 1, 1) .d .S .(2, 2) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) . a . S .c .S .(2, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .d . S x. . T .(1, 1) ..(1, 1) 1. enforcing rectangle substitutions .(2, 2) ⊢ . .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .a .S .(1, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. . T .(1, 1) . 1,1 e . 2,2 R (. 1, 1) .d .S .(2, 2) .x2,1 .R1,2 (. 2, 1) x. 1,1 . 1,2 R (. 1, 1) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . External connections “synchronize” blocks together. .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) . a . S .c .S .(2, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .d . S x. . T .(1, 1) ..(1, 1) 1. enforcing rectangle substitutions .(2, 2) ⊢ . .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .a .S .(1, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. . T .(1, 1) . 1,1 e . 2,2 R (. 1, 1) .d .S .(2, 2) .x2,1 .R1,2 (. 2, 1) x. 1,1 . 1,2 R (. 1, 1) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . External connections “synchronize” blocks together. .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) . a . S .c .S .(2, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .d . S x. . T .(1, 1) ..(1, 1) 1. enforcing rectangle substitutions .(2, 2) ⊢ . .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .a .S .(1, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. . T .(1, 1) . 1,1 e . 2,2 R (. 1, 1) .d .S .(2, 2) .x2,1 .R1,2 (. 2, 1) x. 1,1 . 1,2 R (. 1, 1) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . External connections “synchronize” blocks together. .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) . a . S .c .S .(2, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .d . S x. . T .(1, 1) ..(1, 1) 1. enforcing rectangle substitutions .(2, 2) ⊢ . .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .a .S .(1, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. . T .(1, 1) . 1,1 e . 2,2 R (. 1, 1) .d .S .(2, 2) .x2,1 .R1,2 (. 2, 1) x. 1,1 . 1,2 R (. 1, 1) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . External connections “synchronize” blocks together. .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) . a . S .c .S .(2, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .d . S x. . T .(1, 1) ..(1, 1) 1. enforcing rectangle substitutions .(2, 2) ⊢ . .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .a .S .(1, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. . T .(1, 1) . 1,1 e . 2,2 R (. 1, 1) .d .S .(2, 2) .x2,1 .R1,2 (. 2, 1) x. 1,1 . 1,2 R (. 1, 1) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . External connections “synchronize” blocks together. .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) . a . S .c .S .(2, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .d . S x. . T .(1, 1) ..(1, 1) 1. enforcing rectangle substitutions .(2, 2) ⊢ . .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .a .S .(1, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. . T .(1, 1) . 1,1 e . 2,2 R (. 1, 1) .d .S .(2, 2) .x2,1 .R1,2 (. 2, 1) x. 1,1 . 1,2 R (. 1, 1) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Substituting other tiles . External connections “synchronize” blocks together. .q3,1 .R2,1 (. 3, 1) .q3,2 .R2,1 (. 3, 2) .q3,3 .R2,1 (. 3, 3) .e3,1 .R2,2 (. 3, 1) .e3,2 .R2,2 (. 3, 2) . 2 ,1 q . 2,1 R (. 2, 1) . 2 ,2 q . 2,1 R (. 2, 2) . 2 ,3 q . 2,1 R (. 2, 3) . 2,1 e . 2,2 R (. 2, 1) . 2,2 e . 2,2 R (. 2, 2) . 1 ,1 q . 2,1 R (. 1, 1) .c . S .(2, 1) . a . S .c .S .(2, 1) . 1 ,2 q . 2,1 R (. 1, 2) . 1 ,3 q . 2,1 R (. 1, 3) .j2,2 .R1,1 (. 2, 2) .j2,3 .R1,1 (. 2, 3) .d . S x. . T .(1, 1) ..(1, 1) 1. enforcing rectangle substitutions .(2, 2) ⊢ . .b . S .(1, 2) .j2,1 .R1,1 (. 2, 1) .j1,1 . 1,1 R (. 1, 1) . .a .S .(1, 1) .j1,2 . 1,1 R (. 1, 2) .j1,3 . 1,1 R (. 1, 3) x. . T .(1, 1) . 1,1 e . 2,2 R (. 1, 1) .d .S .(2, 2) .x2,1 .R1,2 (. 2, 1) x. 1,1 . 1,2 R (. 1, 1) . 1,2 e . 2,2 R (. 1, 2) .x2,2 .R1,2 (. 2, 2) .b .S .(1, 2) x. 1,2 . 1,2 R (. 1, 2) 11/19 Sketch of the proof . Expansive substitution system s, limit set Λs . Constructed tile set τ, set of tilings Xτ . Projection. Lemma 1. π : T 2×2 −→ Σ, . . a .R . .(i, j) . . 7−→ a Λs = π(Λs• ) Theorem 1. π(Xτ ) = Λs , hence the limit set is sofic. Sketch of the proof. π(Xτ ) ⊇ Λs . Encode the history into a tiling. π(Xτ ) ⊆ Λs . Decompose any tiling into images by s• and check that the pre-image is a valid tiling. 1. enforcing rectangle substitutions 12/19 2. undecidability of the domino problem Mozes’ Derivation Tree Problem (DTP) . Derivation Tree Problem (DTP) Given an expansive substitution system, decide if there exist derivation trees of all depths. Theorem 2. DTP is undecidable. Proof. Next slides… Corollary 1. DP is undecidable. Proof. Enforce the substitution with a tile set by the previous construction. There exist derivation trees of all depths ⇐⇒ the limit set is non-empty ⇐⇒ there exists a tiling. Turing Machine (TM). M = (Q, Σ, q0 , a, δ) Q = {0, . . . , n − 1}, q0 = 0, blank symbol a, moves {←, →}. 2. undecidability of the domino problem 14/19 . (1/3) .4 .∗ TM tapes are represented by zigzag lines where letters are on internal corners (NW, SE). Seeds, arranged on a lattice, create a new blank tape at each transition. Bounds (NW, NE, SW, SE) extend the tape of one blank letter (at both ends) at each transition. 6 h 6 2n + 4 .∗ .∗ .→ ⊢ . .0a .← . ⊢ . .a .a . seed and white .∗ .← ⊢ . .∗ .← .a .← . ⊢ . .← .a . .∗ .→ . 6 v 6 2n + 4 Reduction of the Halting Problem (HP) — from a blank tape — for Turing Machines. .4 Reducing HP to DTP . ⊢ . .a .∗ .→ .→ ⊢ . .→ .a . tape bounds 15/19 . (2/3) .2q .∗ ⊢ . .β . +5 .∗ .qα ⊢ . .β . if δ(q, α) = (q ′, β, →) δ(q, α) = (q ′ , β, m) if δ(q, α) . ′ +6 .∗ +6 ⊢ . ′ .qα = (q ′, β, ←) .2q .∗ .β .qα .2q The new state q ′ is transmitted to the neighbor encoded in the derivation width or height. ′ +5 .qα ′ Transition derivations — for non-halting states — are deterministic. .2q Reducing HP to DTP . ⊢ . .β . if δ(q, α) = (q ′, β, ←) if δ(q, α) = (q ′, β, →) 16/19 . (3/3) General case. Letters are extended into 4-by-4 blocks. .∗ .α .α .α . .qα .α .2q ⊢ . +6 .∗ .α ⊢ . .qα . .2q .∗ +5 .∗ +5 ⊢ . .qα .2q .α . .α . . This enforces the letter substitution rule that makes the head appear at its new position (a +5/+6 bit of information is needed). ⊢ . .∗ .2q Head on a neighbor letter. The transition substitution enforces a height (or width) encoding the new state q ′ on the whole line (or column). ⊢ . .∗ +6 Reducing HP to DTP . .α ⊢ . .qα . 17/19 Proof . Theorem 2. DTP is undecidable. Proof. If the TM halts in time T. Assume ∃t0 ⊢ t1 ⊢ · · · ⊢ tT+3 . t1 contains a seed. tT+2 contains the image of this seed after T steps of the TM: the state is halting. Then tT+2 has no successor E. If the TM does not halt, let us show that a seed starts an infinite derivation. As no halting state can appear, each letter always admits an image. On a line/column, we can have either: • white tiles and seeds; • white tiles and parts (pairs of letters) of the same (deterministic) computation. Hence there exists a successor. 2. undecidability of the domino problem 18/19 . That’s all! . Thank you for your attention. A research report is under preparation, to be available Any questions? . on arXiv in January. 19/19