Download Introduction to Combinatorics on Words

Document related concepts
no text concepts found
Transcript
Combinatorics on Words:
An Introduction
Jeffrey Shallit
School of Computer Science
University of Waterloo
Waterloo, Ontario N2L 3G1
Canada
[email protected]
http://www.cs.uwaterloo.ca/~shallit
1 / 201
The Main Themes
periodicity
2 / 201
The Main Themes
periodicity
patterns and pattern avoidance
3 / 201
The Main Themes
periodicity
patterns and pattern avoidance
equations in words
4 / 201
The Main Themes
periodicity
patterns and pattern avoidance
equations in words
infinite words and their properties
5 / 201
Some notation
Σ - a finite nonempty set of symbols - the alphabet
6 / 201
Some notation
Σ - a finite nonempty set of symbols - the alphabet
word - a finite or infinite list of symbols chosen from Σ
7 / 201
Some notation
Σ - a finite nonempty set of symbols - the alphabet
word - a finite or infinite list of symbols chosen from Σ
Σ∗ - set of all finite words
8 / 201
Some notation
Σ - a finite nonempty set of symbols - the alphabet
word - a finite or infinite list of symbols chosen from Σ
Σ∗ - set of all finite words
Σ+ - set of all finite nonempty words
9 / 201
Some notation
Σ - a finite nonempty set of symbols - the alphabet
word - a finite or infinite list of symbols chosen from Σ
Σ∗ - set of all finite words
Σ+ - set of all finite nonempty words
Σω - set of all (right-)infinite words
10 / 201
Some notation
Σ - a finite nonempty set of symbols - the alphabet
word - a finite or infinite list of symbols chosen from Σ
Σ∗ - set of all finite words
Σ+ - set of all finite nonempty words
Σω - set of all (right-)infinite words
Σ∞ = Σ∗ ∪ Σω
11 / 201
More notation
the empty word: ²
12 / 201
More notation
the empty word: ²
w = a 1 a2 · · · a n
13 / 201
More notation
the empty word: ²
w = a 1 a2 · · · a n
w [i] := ai , w [i..j] := ai ai+1 · · · aj
14 / 201
More notation
the empty word: ²
w = a 1 a2 · · · a n
w [i] := ai , w [i..j] := ai ai+1 · · · aj
w = a 0 a1 a2 · · ·
15 / 201
More notation
the empty word: ²
w = a 1 a2 · · · a n
w [i] := ai , w [i..j] := ai ai+1 · · · aj
w = a 0 a1 a2 · · ·
x ω = xxx · · ·
16 / 201
More notation
the empty word: ²
w = a 1 a2 · · · a n
w [i] := ai , w [i..j] := ai ai+1 · · · aj
w = a 0 a1 a2 · · ·
x ω = xxx · · ·
ultimately periodic: z = xy ω
17 / 201
More notation
the empty word: ²
w = a 1 a2 · · · a n
w [i] := ai , w [i..j] := ai ai+1 · · · aj
w = a 0 a1 a2 · · ·
x ω = xxx · · ·
ultimately periodic: z = xy ω
n
Operations: concatenation, raising to powers
reversal x R
xn
z }| {
= xx · · · x, x 0 = ²,
18 / 201
More notation
the empty word: ²
w = a 1 a2 · · · a n
w [i] := ai , w [i..j] := ai ai+1 · · · aj
w = a 0 a1 a2 · · ·
x ω = xxx · · ·
ultimately periodic: z = xy ω
n
Operations: concatenation, raising to powers
reversal x R
xn
z }| {
= xx · · · x, x 0 = ²,
prefix, suffix, factor, subword
19 / 201
Algebraic framework
semigroup: concatenation is multiplication, associative
20 / 201
Algebraic framework
semigroup: concatenation is multiplication, associative
monoid: semigroup + identity element (²)
21 / 201
Algebraic framework
semigroup: concatenation is multiplication, associative
monoid: semigroup + identity element (²)
free monoid: no relations among elements
22 / 201
Algebraic framework
semigroup: concatenation is multiplication, associative
monoid: semigroup + identity element (²)
free monoid: no relations among elements
group: add inverses of elements a−1
23 / 201
Periodicity
words - fundamentally noncommutative
24 / 201
Periodicity
words - fundamentally noncommutative
casebook 6= bookcase
25 / 201
Periodicity
words - fundamentally noncommutative
casebook 6= bookcase
When do words commute?
26 / 201
Periodicity
words - fundamentally noncommutative
casebook 6= bookcase
When do words commute?
Here are two words that “almost” commute:
27 / 201
Periodicity
words - fundamentally noncommutative
casebook 6= bookcase
When do words commute?
Here are two words that “almost” commute:
w = 01010 and x = 01011010
28 / 201
Periodicity
words - fundamentally noncommutative
casebook 6= bookcase
When do words commute?
Here are two words that “almost” commute:
w = 01010 and x = 01011010
wx
= 0101001011010
29 / 201
Periodicity
words - fundamentally noncommutative
casebook 6= bookcase
When do words commute?
Here are two words that “almost” commute:
w = 01010 and x = 01011010
wx
= 0101001011010
xw
= 0101101001010
By the way, this raises the question: can the Hamming distance
between wx and xw be 1? It can’t; there is a one-line proof.
30 / 201
What are the solutions to x 2 = y 3 in words?
- Over N, x 2 = y 3 iff x is a cube and y is a square
31 / 201
What are the solutions to x 2 = y 3 in words?
- Over N, x 2 = y 3 iff x is a cube and y is a square
- Suggests what solutions of x i = y j will look like over words
32 / 201
What are the solutions to x 2 = y 3 in words?
- Over N, x 2 = y 3 iff x is a cube and y is a square
- Suggests what solutions of x i = y j will look like over words
33 / 201
First Theorem of Lyndon-Schützenberger
Theorem
Let x, y ∈ Σ+ . Then the following three conditions are equivalent:
34 / 201
First Theorem of Lyndon-Schützenberger
Theorem
Let x, y ∈ Σ+ . Then the following three conditions are equivalent:
(1) xy = yx;
35 / 201
First Theorem of Lyndon-Schützenberger
Theorem
Let x, y ∈ Σ+ . Then the following three conditions are equivalent:
(1) xy = yx;
(2) There exist z ∈ Σ+ and integers k, l > 0 such that x = z k and
y = zl;
36 / 201
First Theorem of Lyndon-Schützenberger
Theorem
Let x, y ∈ Σ+ . Then the following three conditions are equivalent:
(1) xy = yx;
(2) There exist z ∈ Σ+ and integers k, l > 0 such that x = z k and
y = zl;
(3) There exist integers i, j > 0 such that x i = y j .
37 / 201
Second Theorem of Lyndon-Schützenberger
Under what conditions can a string have a nontrivial proper prefix
and suffix that are identical?
38 / 201
Second Theorem of Lyndon-Schützenberger
Under what conditions can a string have a nontrivial proper prefix
and suffix that are identical?
Examples in English: reader — begins and ends with r
39 / 201
Second Theorem of Lyndon-Schützenberger
Under what conditions can a string have a nontrivial proper prefix
and suffix that are identical?
Examples in English: reader — begins and ends with r
alfalfa — which begins and ends with alfa
40 / 201
Second Theorem of Lyndon-Schützenberger
Under what conditions can a string have a nontrivial proper prefix
and suffix that are identical?
Examples in English: reader — begins and ends with r
alfalfa — which begins and ends with alfa
The answer is given by the following theorem.
41 / 201
Second Theorem of Lyndon-Schützenberger
Under what conditions can a string have a nontrivial proper prefix
and suffix that are identical?
Examples in English: reader — begins and ends with r
alfalfa — which begins and ends with alfa
The answer is given by the following theorem.
Theorem
Let x, y , z ∈ Σ+ . Then xy = yz if and only if there exist u ∈ Σ+ ,
v ∈ Σ∗ , and an integer e ≥ 0 such that x = uv , z = vu, and
y = (uv )e u = u(vu)e .
42 / 201
Primitive words
We say a word x is a power if it can be expressed as x = y n for
some y 6= ², n ≥ 2.
43 / 201
Primitive words
We say a word x is a power if it can be expressed as x = y n for
some y 6= ², n ≥ 2.
A nonpower is called primitive.
44 / 201
Primitive words
We say a word x is a power if it can be expressed as x = y n for
some y 6= ², n ≥ 2.
A nonpower is called primitive.
Every nonempty word can be written uniquely in the form x k
where x is primitive and k ≥ 1.
45 / 201
Primitive words
We say a word x is a power if it can be expressed as x = y n for
some y 6= ², n ≥ 2.
A nonpower is called primitive.
Every nonempty word can be written uniquely in the form x k
where x is primitive and k ≥ 1.
Enumeration: there are exactly
X
µ(d)k n/d
d |n
46 / 201
Primitive words
We say a word x is a power if it can be expressed as x = y n for
some y 6= ², n ≥ 2.
A nonpower is called primitive.
Every nonempty word can be written uniquely in the form x k
where x is primitive and k ≥ 1.
Enumeration: there are exactly
X
µ(d)k n/d
d |n
primitive words of length n over a k-letter alphabet. Here µ is the
Möbius function and the sum is over the divisors of n.
47 / 201
Primitive words
We say a word x is a power if it can be expressed as x = y n for
some y 6= ², n ≥ 2.
A nonpower is called primitive.
Every nonempty word can be written uniquely in the form x k
where x is primitive and k ≥ 1.
Enumeration: there are exactly
X
µ(d)k n/d
d |n
primitive words of length n over a k-letter alphabet. Here µ is the
Möbius function and the sum is over the divisors of n.
Open question: is the set of primitive binary words a CFL?
48 / 201
Conjugates
A word w is a conjugate of a word x if w can be obtained from x
by cyclically shifting the letters.
49 / 201
Conjugates
A word w is a conjugate of a word x if w can be obtained from x
by cyclically shifting the letters.
For example, the English word enlist is a conjugate of listen.
50 / 201
Conjugates
A word w is a conjugate of a word x if w can be obtained from x
by cyclically shifting the letters.
For example, the English word enlist is a conjugate of listen.
A conjugate of a k-th power is a k-th power of a conjugate.
51 / 201
Conjugates
A word w is a conjugate of a word x if w can be obtained from x
by cyclically shifting the letters.
For example, the English word enlist is a conjugate of listen.
A conjugate of a k-th power is a k-th power of a conjugate.
Every primitive word has an unbordered conjugate.
52 / 201
Conjugates
A word w is a conjugate of a word x if w can be obtained from x
by cyclically shifting the letters.
For example, the English word enlist is a conjugate of listen.
A conjugate of a k-th power is a k-th power of a conjugate.
Every primitive word has an unbordered conjugate.
Lyndon word: lexicographically least among all its conjugates
53 / 201
Conjugates
A word w is a conjugate of a word x if w can be obtained from x
by cyclically shifting the letters.
For example, the English word enlist is a conjugate of listen.
A conjugate of a k-th power is a k-th power of a conjugate.
Every primitive word has an unbordered conjugate.
Lyndon word: lexicographically least among all its conjugates
Theorem: Every finite word has a unique factorization as the
product of Lyndon words w1 w2 · · · wn , where w1 ≥ w2 ≥ w3 · · · wn .
54 / 201
Fractional powers
We say a word w is a p/q power, for integers p ≥ q ≥ 1, if
w = x bp/qc x 0
for a prefix x 0 of x such that |w |/|x| = p/q.
55 / 201
Fractional powers
We say a word w is a p/q power, for integers p ≥ q ≥ 1, if
w = x bp/qc x 0
for a prefix x 0 of x such that |w |/|x| = p/q.
For example, the French word entente is a 7/3-power, as it can
be written as (ent)2 e.
56 / 201
Fractional powers
We say a word w is a p/q power, for integers p ≥ q ≥ 1, if
w = x bp/qc x 0
for a prefix x 0 of x such that |w |/|x| = p/q.
For example, the French word entente is a 7/3-power, as it can
be written as (ent)2 e.
The German word schematische is a 3/2 power.
57 / 201
Fractional powers
We say a word w is a p/q power, for integers p ≥ q ≥ 1, if
w = x bp/qc x 0
for a prefix x 0 of x such that |w |/|x| = p/q.
For example, the French word entente is a 7/3-power, as it can
be written as (ent)2 e.
The German word schematische is a 3/2 power.
If w = x bp/qc x 0 is a p/q power, then we call x a period of w .
Often the word period is used to refer to |x|.
58 / 201
Fractional powers
We say a word w is a p/q power, for integers p ≥ q ≥ 1, if
w = x bp/qc x 0
for a prefix x 0 of x such that |w |/|x| = p/q.
For example, the French word entente is a 7/3-power, as it can
be written as (ent)2 e.
The German word schematische is a 3/2 power.
If w = x bp/qc x 0 is a p/q power, then we call x a period of w .
Often the word period is used to refer to |x|.
If a word w is a p/q > 1 power, then it begins and ends with some
nonempty string. Such a string is also called bordered. Otherwise
it is unbordered.
59 / 201
Unbordered words
The unbordered words play the same role for fractional powers as
the primitive words do for ordinary powers.
60 / 201
Unbordered words
The unbordered words play the same role for fractional powers as
the primitive words do for ordinary powers.
Enumeration of unbordered words is more challenging and there is
no simple closed form.
61 / 201
Unbordered words
The unbordered words play the same role for fractional powers as
the primitive words do for ordinary powers.
Enumeration of unbordered words is more challenging and there is
no simple closed form.
However, there are asymptotically ck k n such words, where ck is a
constant that tends to 1 as k tends to ∞.
62 / 201
Duval’s conjecture
Let µ(w ) be the length of the longest unbordered factor of w .
63 / 201
Duval’s conjecture
Let µ(w ) be the length of the longest unbordered factor of w .
Let p(w ) be the length of the longest period of w .
64 / 201
Duval’s conjecture
Let µ(w ) be the length of the longest unbordered factor of w .
Let p(w ) be the length of the longest period of w .
Duval conjectured that if |w | ≥ 3µ(w ), then µ(w ) = p(w ).
65 / 201
Duval’s conjecture
Let µ(w ) be the length of the longest unbordered factor of w .
Let p(w ) be the length of the longest period of w .
Duval conjectured that if |w | ≥ 3µ(w ), then µ(w ) = p(w ).
This was proved by Harju & Nowotka, and S. Holub. The result
has been improved to |w | ≥ 3µ(w ) − 2 =⇒ µ(w ) = p(w ).
66 / 201
The Fine-Wilf theorem
Theorem
Let w and x be nonempty words. Let y ∈ w {w , x}ω and
z ∈ x{w , x}ω . Then the following conditions are equivalent:
(a) y and z agree on a prefix of length at least
|w | + |x| − gcd(|w |, |x|);
67 / 201
The Fine-Wilf theorem
Theorem
Let w and x be nonempty words. Let y ∈ w {w , x}ω and
z ∈ x{w , x}ω . Then the following conditions are equivalent:
(a) y and z agree on a prefix of length at least
|w | + |x| − gcd(|w |, |x|);
(b) wx = xw ;
68 / 201
The Fine-Wilf theorem
Theorem
Let w and x be nonempty words. Let y ∈ w {w , x}ω and
z ∈ x{w , x}ω . Then the following conditions are equivalent:
(a) y and z agree on a prefix of length at least
|w | + |x| − gcd(|w |, |x|);
(b) wx = xw ;
(c) y = z.
(c) =⇒ (a): Trivial.
69 / 201
The Fine-Wilf theorem
Theorem
Let w and x be nonempty words. Let y ∈ w {w , x}ω and
z ∈ x{w , x}ω . Then the following conditions are equivalent:
(a) y and z agree on a prefix of length at least
|w | + |x| − gcd(|w |, |x|);
(b) wx = xw ;
(c) y = z.
(c) =⇒ (a): Trivial.
We’ll prove (a) =⇒ (b) and (b) =⇒ (c).
70 / 201
Fine-Wilf: The proof
Proof.
(a) y and z agree on a prefix of length at least
|w | + |x| − gcd(|w |, |x|) =⇒ (b) wx = xw
71 / 201
Fine-Wilf: The proof
Proof.
(a) y and z agree on a prefix of length at least
|w | + |x| − gcd(|w |, |x|) =⇒ (b) wx = xw
We prove the contrapositive. Suppose wx 6= xw .
72 / 201
Fine-Wilf: The proof
Proof.
(a) y and z agree on a prefix of length at least
|w | + |x| − gcd(|w |, |x|) =⇒ (b) wx = xw
We prove the contrapositive. Suppose wx 6= xw .
Then we prove that y and z differ at a position
≤ |w | + |x| − gcd(|w |, |x|).
73 / 201
Fine-Wilf: The proof
Proof.
(a) y and z agree on a prefix of length at least
|w | + |x| − gcd(|w |, |x|) =⇒ (b) wx = xw
We prove the contrapositive. Suppose wx 6= xw .
Then we prove that y and z differ at a position
≤ |w | + |x| − gcd(|w |, |x|).
The proof is by induction on |w | + |x|.
74 / 201
Fine-Wilf: The proof
Proof.
(a) y and z agree on a prefix of length at least
|w | + |x| − gcd(|w |, |x|) =⇒ (b) wx = xw
We prove the contrapositive. Suppose wx 6= xw .
Then we prove that y and z differ at a position
≤ |w | + |x| − gcd(|w |, |x|).
The proof is by induction on |w | + |x|.
The base case is |w | + |x| = 2. Then |w | = |x| = 1, and
|w | + |x| − gcd(|w |, |x|) = 1. Since wx 6= xw , we must have
w = a, x = b with a 6= b. Then y and z differ at the first position.
75 / 201
Now assume the result is true for |w | + |x| < k.
76 / 201
Now assume the result is true for |w | + |x| < k.
We prove it for |w | + |x| = k.
77 / 201
Now assume the result is true for |w | + |x| < k.
We prove it for |w | + |x| = k.
If |w | = |x| then y and z must disagree at the |w |’th position or
earlier, for otherwise w = x and wx = xw ; since
|w | ≤ |w | + |x| − gcd(|w |, |x|) = |w |, the result follows.
78 / 201
Now assume the result is true for |w | + |x| < k.
We prove it for |w | + |x| = k.
If |w | = |x| then y and z must disagree at the |w |’th position or
earlier, for otherwise w = x and wx = xw ; since
|w | ≤ |w | + |x| − gcd(|w |, |x|) = |w |, the result follows.
So, without loss of generality, assume |w | < |x|.
79 / 201
Now assume the result is true for |w | + |x| < k.
We prove it for |w | + |x| = k.
If |w | = |x| then y and z must disagree at the |w |’th position or
earlier, for otherwise w = x and wx = xw ; since
|w | ≤ |w | + |x| − gcd(|w |, |x|) = |w |, the result follows.
So, without loss of generality, assume |w | < |x|.
If w is not a prefix of x, then y and z disagree on the |w |’th
position or earlier, and again |w | ≤ |w | + |x| − gcd(|w |, |x|).
80 / 201
Now assume the result is true for |w | + |x| < k.
We prove it for |w | + |x| = k.
If |w | = |x| then y and z must disagree at the |w |’th position or
earlier, for otherwise w = x and wx = xw ; since
|w | ≤ |w | + |x| − gcd(|w |, |x|) = |w |, the result follows.
So, without loss of generality, assume |w | < |x|.
If w is not a prefix of x, then y and z disagree on the |w |’th
position or earlier, and again |w | ≤ |w | + |x| − gcd(|w |, |x|).
So w is a proper prefix of x.
81 / 201
Now assume the result is true for |w | + |x| < k.
We prove it for |w | + |x| = k.
If |w | = |x| then y and z must disagree at the |w |’th position or
earlier, for otherwise w = x and wx = xw ; since
|w | ≤ |w | + |x| − gcd(|w |, |x|) = |w |, the result follows.
So, without loss of generality, assume |w | < |x|.
If w is not a prefix of x, then y and z disagree on the |w |’th
position or earlier, and again |w | ≤ |w | + |x| − gcd(|w |, |x|).
So w is a proper prefix of x.
Write x = wt for some nonempty word t.
Now any common divisor of |w | and |x| must also divide
|x| − |w | = |t|, and similarly any common divisor of both |w | and
|t| must also divide |w | + |t| = |x|. So gcd(|w |, |x|) = gcd(|w |, |t|).
82 / 201
Now wt 6= tw , for otherwise we have wx = wwt = wtw = xw , a
contradiction.
83 / 201
Now wt 6= tw , for otherwise we have wx = wwt = wtw = xw , a
contradiction.
Then y = ww · · · and z = wt · · · . By induction (since
|w | + |t| < k) w −1 y and w −1 z disagree at position
|w | + |t| − gcd(|w |, |t|) or earlier.
84 / 201
Now wt 6= tw , for otherwise we have wx = wwt = wtw = xw , a
contradiction.
Then y = ww · · · and z = wt · · · . By induction (since
|w | + |t| < k) w −1 y and w −1 z disagree at position
|w | + |t| − gcd(|w |, |t|) or earlier.
Hence y and z disagree at position
2|w | + |t| − gcd(|w |, |t|) = |w | + |x| − gcd(|w |, |x|) or earlier.
85 / 201
(b) =⇒ (c): If wx = xw , then by the theorem of
Lyndon-Schützenberger, both w and x are in u + for some word u.
Hence y = u ω = z.
86 / 201
Finite Sturmian words
The proof also implies a way to get words that optimally “almost
commute”, in the sense that xw and wx should agree on as long a
segment as possible.
87 / 201
Finite Sturmian words
The proof also implies a way to get words that optimally “almost
commute”, in the sense that xw and wx should agree on as long a
segment as possible.
Theorem
For each m, n ≥ 1 there exist words x, w of length m, n,
respectively, such that xw and wx agree on a prefix of length
m + n − gcd(m, n) − 1 but differ at position m + n − gcd(m, n).
88 / 201
Finite Sturmian words
The proof also implies a way to get words that optimally “almost
commute”, in the sense that xw and wx should agree on as long a
segment as possible.
Theorem
For each m, n ≥ 1 there exist words x, w of length m, n,
respectively, such that xw and wx agree on a prefix of length
m + n − gcd(m, n) − 1 but differ at position m + n − gcd(m, n).
These are the finite Sturmian words.
89 / 201
Finite Sturmian words
The proof also implies a way to get words that optimally “almost
commute”, in the sense that xw and wx should agree on as long a
segment as possible.
Theorem
For each m, n ≥ 1 there exist words x, w of length m, n,
respectively, such that xw and wx agree on a prefix of length
m + n − gcd(m, n) − 1 but differ at position m + n − gcd(m, n).
These are the finite Sturmian words.
Many authors have worked on generalizations to multiple periods:
Castelli, Mignosi, & Restivo, Simpson & Tijdeman, Constantinescu
& Ilie, ...
90 / 201
Patterns and pattern avoidance
The story begins with Axel Thue in 1906.
91 / 201
Patterns and pattern avoidance
The story begins with Axel Thue in 1906.
He noticed that over a 2-letter alphabet, every word of length ≥ 4
contains a square: either 02 , 12 , (01)2 or (10)2 .
92 / 201
Patterns and pattern avoidance
The story begins with Axel Thue in 1906.
He noticed that over a 2-letter alphabet, every word of length ≥ 4
contains a square: either 02 , 12 , (01)2 or (10)2 .
But over a 3-letter alphabet, it is possible to create arbitrarily long
words (or — what is equivalent — an infinite word) with no square
factors at all. Such a word is called squarefree.
93 / 201
Patterns and pattern avoidance
The story begins with Axel Thue in 1906.
He noticed that over a 2-letter alphabet, every word of length ≥ 4
contains a square: either 02 , 12 , (01)2 or (10)2 .
But over a 3-letter alphabet, it is possible to create arbitrarily long
words (or — what is equivalent — an infinite word) with no square
factors at all. Such a word is called squarefree.
The easiest way to construct such a sequence was found by Thue
in 1912 (and rediscovered many times).
94 / 201
Patterns and pattern avoidance
The story begins with Axel Thue in 1906.
He noticed that over a 2-letter alphabet, every word of length ≥ 4
contains a square: either 02 , 12 , (01)2 or (10)2 .
But over a 3-letter alphabet, it is possible to create arbitrarily long
words (or — what is equivalent — an infinite word) with no square
factors at all. Such a word is called squarefree.
The easiest way to construct such a sequence was found by Thue
in 1912 (and rediscovered many times).
It is based on the Thue-Morse sequence.
95 / 201
The Thue-Morse morphism
Morphism: a map h from Σ∗ to ∆∗ such that
h(xy ) = h(x)h(y ).
96 / 201
The Thue-Morse morphism
Morphism: a map h from Σ∗ to ∆∗ such that
h(xy ) = h(x)h(y ).
Thue-Morse morphism: µ(0) = 01; µ(1) = 10.
97 / 201
The Thue-Morse morphism
Morphism: a map h from Σ∗ to ∆∗ such that
h(xy ) = h(x)h(y ).
Thue-Morse morphism: µ(0) = 01; µ(1) = 10.
If Σ = ∆ then we can iterate h.
98 / 201
The Thue-Morse morphism
Morphism: a map h from Σ∗ to ∆∗ such that
h(xy ) = h(x)h(y ).
Thue-Morse morphism: µ(0) = 01; µ(1) = 10.
If Σ = ∆ then we can iterate h.
i
We write
hi
z
}|
{
= h(h(h(· · · ))).
99 / 201
Morphic words
If a nonerasing morphism has the property that h(a) = ax, then
iterating h produces an infinite word
hω (a) = a x h(x) h2 (x) h3 (x) · · · .
100 / 201
Morphic words
If a nonerasing morphism has the property that h(a) = ax, then
iterating h produces an infinite word
hω (a) = a x h(x) h2 (x) h3 (x) · · · .
If we do this with µ we get the Thue-Morse word:
101 / 201
Morphic words
If a nonerasing morphism has the property that h(a) = ax, then
iterating h produces an infinite word
hω (a) = a x h(x) h2 (x) h3 (x) · · · .
If we do this with µ we get the Thue-Morse word:
t = µω (0) = 0110100110010110 · · · .
102 / 201
Morphic words
If a nonerasing morphism has the property that h(a) = ax, then
iterating h produces an infinite word
hω (a) = a x h(x) h2 (x) h3 (x) · · · .
If we do this with µ we get the Thue-Morse word:
t = µω (0) = 0110100110010110 · · · .
Also rediscovered by Marston Morse, Max Euwe, Solomon Arshon,
and the Danish composer Per Nørgård.
103 / 201
Properties of the Thue-Morse word
An overlap is a word of the form axaxa, where a is a single letter
and x is a word.
104 / 201
Properties of the Thue-Morse word
An overlap is a word of the form axaxa, where a is a single letter
and x is a word.
An example in English is alfalfa (take x = lf).
105 / 201
Properties of the Thue-Morse word
An overlap is a word of the form axaxa, where a is a single letter
and x is a word.
An example in English is alfalfa (take x = lf).
Thus an overlap is just slightly more than a square.
106 / 201
Properties of the Thue-Morse word
An overlap is a word of the form axaxa, where a is a single letter
and x is a word.
An example in English is alfalfa (take x = lf).
Thus an overlap is just slightly more than a square.
It is also called a 2+ power.
107 / 201
Properties of the Thue-Morse word
An overlap is a word of the form axaxa, where a is a single letter
and x is a word.
An example in English is alfalfa (take x = lf).
Thus an overlap is just slightly more than a square.
It is also called a 2+ power.
Theorem
The Thue-Morse word t is overlap-free.
108 / 201
From overlap-free to squarefree
We can construct a squarefree word from t, as follows:
109 / 201
From overlap-free to squarefree
We can construct a squarefree word from t, as follows:
Count the number of 1’s in t between consecutive 0’s:
110 / 201
From overlap-free to squarefree
We can construct a squarefree word from t, as follows:
Count the number of 1’s in t between consecutive 0’s:
We get:
111 / 201
From overlap-free to squarefree
We can construct a squarefree word from t, as follows:
Count the number of 1’s in t between consecutive 0’s:
We get:
2
1
0
2
0
1
2
1
0
1
2
z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{
0 1 0 11 · · ·
0 1 0 11 0 1 0
0 11 0
0 11 0 1 0
112 / 201
From overlap-free to squarefree
We can construct a squarefree word from t, as follows:
Count the number of 1’s in t between consecutive 0’s:
We get:
2
1
0
2
0
1
2
1
0
1
2
z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{
0 1 0 11 · · ·
0 1 0 11 0 1 0
0 11 0
0 11 0 1 0
This is squarefree, as a square in this word implies and overlap in
the Thue-Morse word.
113 / 201
Enumeration of power-free words
How many squarefree words are there?
114 / 201
Enumeration of power-free words
How many squarefree words are there?
Infinite - countable or uncountable
115 / 201
Enumeration of power-free words
How many squarefree words are there?
Infinite - countable or uncountable
Finite - polynomially-many or exponentially-many of length n?
116 / 201
Enumeration of power-free words
How many squarefree words are there?
Infinite - countable or uncountable
Finite - polynomially-many or exponentially-many of length n?
Same question can be asked for the overlap-free words.
117 / 201
Enumeration of power-free words
How many squarefree words are there?
Infinite - countable or uncountable
Finite - polynomially-many or exponentially-many of length n?
Same question can be asked for the overlap-free words.
For overlap-free words over {0, 1} there is a factorization theorem
of Restivo and Salemi that implies only polynomially-many of
length n.
118 / 201
Enumeration of power-free words
How many squarefree words are there?
Infinite - countable or uncountable
Finite - polynomially-many or exponentially-many of length n?
Same question can be asked for the overlap-free words.
For overlap-free words over {0, 1} there is a factorization theorem
of Restivo and Salemi that implies only polynomially-many of
length n.
For squarefree words over {0, 1, 2} there are exponentially many.
119 / 201
Dejean’s Conjecture
Given an alphabet Σ of cardinality k, we can try to find the optimal
(fractional) exponent αk avoidable by infinite words over Σ.
120 / 201
Dejean’s Conjecture
Given an alphabet Σ of cardinality k, we can try to find the optimal
(fractional) exponent αk avoidable by infinite words over Σ.
For k = 2 we have already seen that overlaps are avoidable and
squares are not. So α2 = 2.
121 / 201
Dejean’s Conjecture
Given an alphabet Σ of cardinality k, we can try to find the optimal
(fractional) exponent αk avoidable by infinite words over Σ.
For k = 2 we have already seen that overlaps are avoidable and
squares are not. So α2 = 2.
Dejean (1972) showed that α3 = 7/4 and conjectured that
α4 = 7/5 and αk = k/(k − 1) for k ≥ 5.
122 / 201
Dejean’s Conjecture
Given an alphabet Σ of cardinality k, we can try to find the optimal
(fractional) exponent αk avoidable by infinite words over Σ.
For k = 2 we have already seen that overlaps are avoidable and
squares are not. So α2 = 2.
Dejean (1972) showed that α3 = 7/4 and conjectured that
α4 = 7/5 and αk = k/(k − 1) for k ≥ 5.
This conjecture has been proven by the combined efforts of
Pansiot, Moulin-Ollagnier, Currie & Mohammad-Noori, Carpi,
Currie & Rampersad, and Rao.
123 / 201
Dejean’s Conjecture
Given an alphabet Σ of cardinality k, we can try to find the optimal
(fractional) exponent αk avoidable by infinite words over Σ.
For k = 2 we have already seen that overlaps are avoidable and
squares are not. So α2 = 2.
Dejean (1972) showed that α3 = 7/4 and conjectured that
α4 = 7/5 and αk = k/(k − 1) for k ≥ 5.
This conjecture has been proven by the combined efforts of
Pansiot, Moulin-Ollagnier, Currie & Mohammad-Noori, Carpi,
Currie & Rampersad, and Rao.
Still open: many other variants of Dejean where the length of the
period is also taken into account.
124 / 201
More general patterns
Instead of avoiding xx or axaxa, we can try to avoid more general
patterns.
125 / 201
More general patterns
Instead of avoiding xx or axaxa, we can try to avoid more general
patterns.
“Avoiding the pattern α” means constructing an infinite word x
such that, for all non-erasing morphisms h, the word h(α) is not a
factor of x.
126 / 201
More general patterns
Instead of avoiding xx or axaxa, we can try to avoid more general
patterns.
“Avoiding the pattern α” means constructing an infinite word x
such that, for all non-erasing morphisms h, the word h(α) is not a
factor of x.
Not all patterns are avoidable — even if the alphabet is arbitrarily
large.
127 / 201
More general patterns
Instead of avoiding xx or axaxa, we can try to avoid more general
patterns.
“Avoiding the pattern α” means constructing an infinite word x
such that, for all non-erasing morphisms h, the word h(α) is not a
factor of x.
Not all patterns are avoidable — even if the alphabet is arbitrarily
large.
For example - it is impossible to avoid xyx, since every sufficiently
long string z will contain three occurrences of some letter a, say
z = rasatau, and then we can let x = a, y = sat, both x and y are
nonempty.
128 / 201
Avoiding general patterns
Given a pattern, it is decidable (via Zimin’s algorithm) if it is
avoidable over some alphabet.
129 / 201
Avoiding general patterns
Given a pattern, it is decidable (via Zimin’s algorithm) if it is
avoidable over some alphabet.
However, we do not have a general procedure to decide if a given
pattern is avoidable over a fixed alphabet.
130 / 201
Abelian powers
Instead of avoiding xx, we can consider trying to avoid other kinds
of patterns: the so-called abelian powers.
131 / 201
Abelian powers
Instead of avoiding xx, we can consider trying to avoid other kinds
of patterns: the so-called abelian powers.
An abelian square is a nonempty word of the form xx 0 , where x 0 is
a permutation of x.
132 / 201
Abelian powers
Instead of avoiding xx, we can consider trying to avoid other kinds
of patterns: the so-called abelian powers.
An abelian square is a nonempty word of the form xx 0 , where x 0 is
a permutation of x.
For example, interessierten is an abelian square in German, as
sierten is a permutation of interes.
133 / 201
Abelian powers
Instead of avoiding xx, we can consider trying to avoid other kinds
of patterns: the so-called abelian powers.
An abelian square is a nonempty word of the form xx 0 , where x 0 is
a permutation of x.
For example, interessierten is an abelian square in German, as
sierten is a permutation of interes.
In a similar way, we can define abelian cubes as words of the form
xx 0 x 00 where both x 0 and x 00 are permutations of x.
134 / 201
Abelian powers: summary of results
it is possible to avoid abelian squares over a 4-letter alphabet, and
this is optimal;
135 / 201
Abelian powers: summary of results
it is possible to avoid abelian squares over a 4-letter alphabet, and
this is optimal;
it is possible to avoid abelian cubes over a 3-letter alphabet, and
this is optimal;
136 / 201
Abelian powers: summary of results
it is possible to avoid abelian squares over a 4-letter alphabet, and
this is optimal;
it is possible to avoid abelian cubes over a 3-letter alphabet, and
this is optimal;
it is possible to avoid abelian fourth powers over a 2-letter
alphabet, and this is optimal.
137 / 201
Abelian powers: summary of results
it is possible to avoid abelian squares over a 4-letter alphabet, and
this is optimal;
it is possible to avoid abelian cubes over a 3-letter alphabet, and
this is optimal;
it is possible to avoid abelian fourth powers over a 2-letter
alphabet, and this is optimal.
An open problem: is it possible to avoid, overP
a finiteP
subset of N,
patterns of the form xx 0 where |x| = |x 0 | and
x=
x 0?
138 / 201
Abelian powers: summary of results
it is possible to avoid abelian squares over a 4-letter alphabet, and
this is optimal;
it is possible to avoid abelian cubes over a 3-letter alphabet, and
this is optimal;
it is possible to avoid abelian fourth powers over a 2-letter
alphabet, and this is optimal.
An open problem: is it possible to avoid, overP
a finiteP
subset of N,
patterns of the form xx 0 where |x| = |x 0 | and
x=
x 0?
Also still open: fractional version of abelian powers
139 / 201
A generalization of abelian powers
involution: h2 (x) = x for all words x
140 / 201
A generalization of abelian powers
involution: h2 (x) = x for all words x
involutions can be morphic (h(xy ) = h(x)h(y )) or antimorphic
(h(xy ) = h(y )h(x))
141 / 201
A generalization of abelian powers
involution: h2 (x) = x for all words x
involutions can be morphic (h(xy ) = h(x)h(y )) or antimorphic
(h(xy ) = h(y )h(x))
One antimorphism of biological interest: reverse string and apply
map A ↔ T , G ↔ C .
142 / 201
A generalization of abelian powers
involution: h2 (x) = x for all words x
involutions can be morphic (h(xy ) = h(x)h(y )) or antimorphic
(h(xy ) = h(y )h(x))
One antimorphism of biological interest: reverse string and apply
map A ↔ T , G ↔ C .
Can avoid some patterns involving involution, but not others
143 / 201
Equations in words
Example 1:
abX = Xba.
144 / 201
Equations in words
Example 1:
abX = Xba.
The only solutions are X ∈ (ab)∗ a.
145 / 201
Equations in words
Example 1:
abX = Xba.
The only solutions are X ∈ (ab)∗ a.
Example 2:
XaXbY = aXYbX
146 / 201
Equations in words
Example 1:
abX = Xba.
The only solutions are X ∈ (ab)∗ a.
Example 2:
XaXbY = aXYbX
The solutions are X = ai , Y = (ai b)j ai for i ≥ 0, j ≥ 0.
147 / 201
Equations in words
Example 3: Fermat’s equation for words: x i y j = z k
148 / 201
Equations in words
Example 3: Fermat’s equation for words: x i y j = z k
The only solutions for i, j, k ≥ 2 are when x, y , z are all powers of
a third word.
149 / 201
Equations in words
Example 3: Fermat’s equation for words: x i y j = z k
The only solutions for i, j, k ≥ 2 are when x, y , z are all powers of
a third word.
Example 4:
XYZ = ZVX : many solutions, but not expressible by formula with
integer parameters.
150 / 201
Equations in words
More generally, given an equation in words and constants, there is
an algorithm (Makanin’s algorithm) that is guaranteed to find a
solution if one exists.
151 / 201
Equations in words
More generally, given an equation in words and constants, there is
an algorithm (Makanin’s algorithm) that is guaranteed to find a
solution if one exists.
Satisfiability in PSPACE: Plandowski (2004)
152 / 201
Equations in words
More generally, given an equation in words and constants, there is
an algorithm (Makanin’s algorithm) that is guaranteed to find a
solution if one exists.
Satisfiability in PSPACE: Plandowski (2004)
Finiteness of solutions: Plandowski (2006) but complete proofs not
yet published.
153 / 201
Kinds of infinite words
pure morphic: obtained by iterating a morphism
154 / 201
Kinds of infinite words
pure morphic: obtained by iterating a morphism
Examples:
155 / 201
Kinds of infinite words
pure morphic: obtained by iterating a morphism
Examples:
the Thue-Morse word, obtained by iterating 0 → 01, 1 → 10
156 / 201
Kinds of infinite words
pure morphic: obtained by iterating a morphism
Examples:
the Thue-Morse word, obtained by iterating 0 → 01, 1 → 10
the Fibonacci word, obtained by iterating 0 → 01, 1 → 0
157 / 201
Kinds of infinite words
pure morphic: obtained by iterating a morphism
Examples:
the Thue-Morse word, obtained by iterating 0 → 01, 1 → 10
the Fibonacci word, obtained by iterating 0 → 01, 1 → 0
morphic: obtained by iterating a morphism, then applying a coding
(letter-to-letter morphism)
158 / 201
Kinds of infinite words
pure morphic: obtained by iterating a morphism
Examples:
the Thue-Morse word, obtained by iterating 0 → 01, 1 → 10
the Fibonacci word, obtained by iterating 0 → 01, 1 → 0
morphic: obtained by iterating a morphism, then applying a coding
(letter-to-letter morphism)
fixed point of uniform morphism: like the Thue-Morse word
159 / 201
Kinds of infinite words
pure morphic: obtained by iterating a morphism
Examples:
the Thue-Morse word, obtained by iterating 0 → 01, 1 → 10
the Fibonacci word, obtained by iterating 0 → 01, 1 → 0
morphic: obtained by iterating a morphism, then applying a coding
(letter-to-letter morphism)
fixed point of uniform morphism: like the Thue-Morse word
automatic: image, under a coding, of a fixed point of a uniform
morphism
160 / 201
Other important infinite words
Sturmian words: exactly n + 1 factors of length n
161 / 201
Other important infinite words
Sturmian words: exactly n + 1 factors of length n
Many other characterizations:
162 / 201
Other important infinite words
Sturmian words: exactly n + 1 factors of length n
Many other characterizations:
balanced: any two words w , x of length n have δ(x, y ) = 1,
where δ(x, y ) = ||x|1 − |y |1 |
163 / 201
Other important infinite words
Sturmian words: exactly n + 1 factors of length n
Many other characterizations:
balanced: any two words w , x of length n have δ(x, y ) = 1,
where δ(x, y ) = ||x|1 − |y |1 |
of the form (bα(n + 1) + γc − bαn + γc)n≥1 for real α, γ
164 / 201
Other important infinite words
Sturmian words: exactly n + 1 factors of length n
Many other characterizations:
balanced: any two words w , x of length n have δ(x, y ) = 1,
where δ(x, y ) = ||x|1 − |y |1 |
of the form (bα(n + 1) + γc − bαn + γc)n≥1 for real α, γ
Episturmian words: natural generalization of Sturmian words to
larger alphabets
165 / 201
More infinite words
Toeplitz words: generated by starting with a periodic word with
“holes”; then inserting another periodic word with holes into that,
etc.
166 / 201
More infinite words
Toeplitz words: generated by starting with a periodic word with
“holes”; then inserting another periodic word with holes into that,
etc.
Paperfolding words: generated by iterated folding of a piece of
paper
167 / 201
More infinite words
Toeplitz words: generated by starting with a periodic word with
“holes”; then inserting another periodic word with holes into that,
etc.
Paperfolding words: generated by iterated folding of a piece of
paper
Xn+1 = Xn aXn
R
168 / 201
More infinite words
Toeplitz words: generated by starting with a periodic word with
“holes”; then inserting another periodic word with holes into that,
etc.
Paperfolding words: generated by iterated folding of a piece of
paper
Xn+1 = Xn aXn
R
Kolakoski’s word: generated by applying a transducer iteratively
169 / 201
More infinite words
Toeplitz words: generated by starting with a periodic word with
“holes”; then inserting another periodic word with holes into that,
etc.
Paperfolding words: generated by iterated folding of a piece of
paper
Xn+1 = Xn aXn
R
Kolakoski’s word: generated by applying a transducer iteratively
The sequence 1221121221 · · · that encodes its own sequence
of run lengths
170 / 201
Properties of infinite words
recurrence - every factor that occurs, occurs infinitely often
171 / 201
Properties of infinite words
recurrence - every factor that occurs, occurs infinitely often
uniform recurrence - recurrent, plus distance between two
consecutive occurrences of the same factor of length n is bounded,
for all n
172 / 201
Subword complexity
“subword” complexity - given an infinite word w, count the
number of distinct factors of length n in w
173 / 201
Subword complexity
“subword” complexity - given an infinite word w, count the
number of distinct factors of length n in w
O(n) for automatic sequences
174 / 201
Subword complexity
“subword” complexity - given an infinite word w, count the
number of distinct factors of length n in w
O(n) for automatic sequences
n + 1 for Sturmian words
175 / 201
Subword complexity
“subword” complexity - given an infinite word w, count the
number of distinct factors of length n in w
O(n) for automatic sequences
n + 1 for Sturmian words
O(n2 ) for morphic words
176 / 201
Subword complexity
“subword” complexity - given an infinite word w, count the
number of distinct factors of length n in w
O(n) for automatic sequences
n + 1 for Sturmian words
O(n2 ) for morphic words
A classification of possible growth rates exists
177 / 201
Automatic sequences
A deterministic finite automaton with output (DFAO) is a
6-tuple: (Q, Σ, δ, q0 , ∆, τ ), where ∆ is the finite output
alphabet and τ : Q → ∆ is the output mapping.
178 / 201
Automatic sequences
A deterministic finite automaton with output (DFAO) is a
6-tuple: (Q, Σ, δ, q0 , ∆, τ ), where ∆ is the finite output
alphabet and τ : Q → ∆ is the output mapping.
Next, we decide on a integer base k ≥ 2 and represent n as a
string of symbols over the alphabet Σ = {0, 1, 2, . . . , k − 1}.
179 / 201
Automatic sequences
A deterministic finite automaton with output (DFAO) is a
6-tuple: (Q, Σ, δ, q0 , ∆, τ ), where ∆ is the finite output
alphabet and τ : Q → ∆ is the output mapping.
Next, we decide on a integer base k ≥ 2 and represent n as a
string of symbols over the alphabet Σ = {0, 1, 2, . . . , k − 1}.
To compute fn , given an automaton M, express n in base-k,
say,
ar ar −1 · · · a1 a0 ,
and compute
fn = τ (δ(q0 , ar ar −1 · · · a1 a0 )).
180 / 201
Automatic sequences
A deterministic finite automaton with output (DFAO) is a
6-tuple: (Q, Σ, δ, q0 , ∆, τ ), where ∆ is the finite output
alphabet and τ : Q → ∆ is the output mapping.
Next, we decide on a integer base k ≥ 2 and represent n as a
string of symbols over the alphabet Σ = {0, 1, 2, . . . , k − 1}.
To compute fn , given an automaton M, express n in base-k,
say,
ar ar −1 · · · a1 a0 ,
and compute
fn = τ (δ(q0 , ar ar −1 · · · a1 a0 )).
Any sequence that can be computed in this way is said to be
k-automatic.
181 / 201
The Thue-Morse automaton
The word t is computed by the following DFAO:
182 / 201
The Thue-Morse automaton
The word t is computed by the following DFAO:
0
0
1
0
1
1
183 / 201
Robustness
the order in which the base-k digits are fed into the
automaton in does not matter (provided it is fixed for all n);
184 / 201
Robustness
the order in which the base-k digits are fed into the
automaton in does not matter (provided it is fixed for all n);
other representations also work (such as expansion in
base-(−k));
185 / 201
Robustness
the order in which the base-k digits are fed into the
automaton in does not matter (provided it is fixed for all n);
other representations also work (such as expansion in
base-(−k));
automatic sequences are closed under many operations, such
as shift, periodic deletion, q-block compression, and q-block
substitution.
186 / 201
Robustness
the order in which the base-k digits are fed into the
automaton in does not matter (provided it is fixed for all n);
other representations also work (such as expansion in
base-(−k));
automatic sequences are closed under many operations, such
as shift, periodic deletion, q-block compression, and q-block
substitution.
if a symbol in an automatic sequence occurs with well-defined
frequency r , then r is rational.
187 / 201
Christol’s theorem
Theorem
(Christol [1980]). Let (un )n≥0 be a sequence over
Σ = {0, 1, . . . , p − 1},
where p is
Pa prime. Then the formal power series
U(X ) = n≥0 un X n is algebraic over GF (p)[X ] if and only if
(un )n≥0 is p-automatic.
188 / 201
Christol’s theorem: example
Let (tn )n≥0 denote the Thue-Morse sequence.
189 / 201
Christol’s theorem: example
Let (tn )n≥0 denote the Thue-Morse sequence.
Then tn = sum of the bits in the binary expansion of n, mod 2.
190 / 201
Christol’s theorem: example
Let (tn )n≥0 denote the Thue-Morse sequence.
Then tn = sum of the bits in the binary expansion ofPn, mod 2.
Also t2n ≡ tn and t2n+1 ≡ tn + 1. If we set A(X ) = n≥0 tn X n ,
then
191 / 201
Christol’s theorem: example
Let (tn )n≥0 denote the Thue-Morse sequence.
Then tn = sum of the bits in the binary expansion ofPn, mod 2.
Also t2n ≡ tn and t2n+1 ≡ tn + 1. If we set A(X ) = n≥0 tn X n ,
then
A(X ) =
X
n≥0
t2n X 2n +
X
t2n+1 X 2n+1
n≥0
192 / 201
Christol’s theorem: example
Let (tn )n≥0 denote the Thue-Morse sequence.
Then tn = sum of the bits in the binary expansion ofPn, mod 2.
Also t2n ≡ tn and t2n+1 ≡ tn + 1. If we set A(X ) = n≥0 tn X n ,
then
A(X ) =
X
t2n X 2n +
=
X
tn X 2n + X
n≥0
n≥0
X
t2n+1 X 2n+1
n≥0
X
n≥0
tn X 2n + X
X
X 2n
n≥0
193 / 201
Christol’s theorem: example
Let (tn )n≥0 denote the Thue-Morse sequence.
Then tn = sum of the bits in the binary expansion ofPn, mod 2.
Also t2n ≡ tn and t2n+1 ≡ tn + 1. If we set A(X ) = n≥0 tn X n ,
then
A(X ) =
X
t2n X 2n +
=
X
tn X 2n + X
n≥0
n≥0
X
t2n+1 X 2n+1
n≥0
X
n≥0
tn X 2n + X
X
X 2n
n≥0
= A(X 2 ) + XA(X 2 ) + X /(1 − X 2 )
194 / 201
Christol’s theorem: example
Let (tn )n≥0 denote the Thue-Morse sequence.
Then tn = sum of the bits in the binary expansion ofPn, mod 2.
Also t2n ≡ tn and t2n+1 ≡ tn + 1. If we set A(X ) = n≥0 tn X n ,
then
A(X ) =
X
t2n X 2n +
=
X
tn X 2n + X
n≥0
n≥0
X
t2n+1 X 2n+1
n≥0
X
tn X 2n + X
n≥0
X
X 2n
n≥0
= A(X 2 ) + XA(X 2 ) + X /(1 − X 2 )
= A(X )2 (1 + X ) + X /(1 + X )2 .
195 / 201
Christol’s theorem: example
Let (tn )n≥0 denote the Thue-Morse sequence.
Then tn = sum of the bits in the binary expansion ofPn, mod 2.
Also t2n ≡ tn and t2n+1 ≡ tn + 1. If we set A(X ) = n≥0 tn X n ,
then
A(X ) =
X
t2n X 2n +
=
X
tn X 2n + X
n≥0
n≥0
X
t2n+1 X 2n+1
n≥0
X
tn X 2n + X
n≥0
X
X 2n
n≥0
= A(X 2 ) + XA(X 2 ) + X /(1 − X 2 )
= A(X )2 (1 + X ) + X /(1 + X )2 .
Hence (1 + X )3 A2 + (1 + X )2 A + X = 0.
196 / 201
Open Problems
Is the set of primitive words over {0, 1} context-free? (Almost
certainly not.)
197 / 201
Open Problems
Is the set of primitive words over {0, 1} context-free? (Almost
certainly not.)
What are the frequencies of letters in Kolakoski’s word? Do
they exist? Are they equal to 1/2?
198 / 201
Open Problems
Is the set of primitive words over {0, 1} context-free? (Almost
certainly not.)
What are the frequencies of letters in Kolakoski’s word? Do
they exist? Are they equal to 1/2?
Nivat’s conjecture: extension of periodicity to 2-dimensional
arrays
199 / 201
Open Problems
Is the set of primitive words over {0, 1} context-free? (Almost
certainly not.)
What are the frequencies of letters in Kolakoski’s word? Do
they exist? Are they equal to 1/2?
Nivat’s conjecture: extension of periodicity to 2-dimensional
arrays
Is there a wordPover aP
finite subset of N that avoids xx 0 with
0
|x| = |x | and
x=
x 0?
200 / 201
For Further Reading
M. Lothaire, Combinatorics on Words, Cambridge, 1997
(reprint)
M. Lothaire, Algebraic Combinatorics on Words, Cambridge,
2002
M. Lothaire, Applied Combinatorics on Words, Cambridge,
2005
V. Berthé, M. Rigo, Combinatorics, Automata, and Number
Theory, Cambridge, 2010
J.-P. Allouche and J. Shallit, Automatic Sequences: Theory,
Applications, Generalizations, Cambridge, 2003.
201 / 201