# Automatic sequence

In mathematics and theoretical computer science, an automatic sequence (also called a k-automatic sequence or a k-recognizable sequence when one wants to indicate that the base of the numerals used is k) is an infinite sequence of terms characterized by a finite automaton. The n-th term of an automatic sequence a(n) is a mapping of the final state reached in a finite automaton accepting the digits of the number n in some fixed base k.
An automatic set is a set of non-negative integers S for which the sequence of values of its characteristic function χ$_S$ is an automatic sequence; that is, S is k-automatic if χ$_S$(n) is k-automatic, where χ$_S$(n) = 1 if n $\in$ S and 0 otherwise.

## Definition

Automatic sequences may be defined in a number of ways, all of which are equivalent. Four common definitions are as follows.

### Automata-theoretic

Let k be a positive integer, and let D = (Q, Σ$_k$, δ, q$_0$, Δ, τ) be a deterministic finite automaton with output, where
* Q is the finite set of states;
* the input alphabet Σ$_k$ consists of the set {0,1,...,k-1} of possible digits in base-k notation;
* δ : Q × Σ$_k$ → Q is the transition function;
* q$_0$ ∈ Q is the initial state;
* the output alphabet Δ is a finite set; and
* τ : Q → Δ is the output function mapping from the set of internal states to the output alphabet.
Extend the transition function δ from acting on single digits to acting on strings of digits by defining the action of δ on a string s consisting of digits s$_1$s$_2$...s$_t$ as:
    δ(q,s) = δ(δ(q, s$_1$s$_2$...s$_{t-1}$), s$_t$).
Define a function a from the set of positive integers to the output alphabet Δ as follows:
    a(n) = τ(δ(q$_0$,s(n))),
where s(n) is n written in base k. Then the sequence a = a(1)a(2)a(3)... is a k-automatic sequence.
An automaton reading the base k digits of s(n) starting with the most significant digit is said to be direct reading, while an automaton starting with the least significant digit is reverse reading. The above definition holds whether s(n) is direct or reverse reading.

### Substitution

Let $\varphi$ be a k-uniform morphism of a free monoid $\Sigma ^{*}$ and let $\tau$ be a coding (that is, a $1$-uniform morphism), as in the automata-theoretic case. If $w$ is a fixed point of $\varphi$—that is, if $w=\varphi (w)$—then $s=\tau (w)$ is a k-automatic sequence. Conversely, every k-automatic sequence is obtainable in this way. This result is due to Cobham, and it is referred to in the literature as Cobham's little theorem.

### k-kernel

Let k ≥ 2. The k-kernel of the sequence s(n) is the set of subsequences
    $K_{k}(s)=\{s(k^{e}n+r):e\geq 0{\text{ and }}0\leq r\leq k^{e}-1\}.$
In most cases, the k-kernel of a sequence is infinite. However, if the k-kernel is finite, then the sequence s(n) is k-automatic, and the converse is also true. This is due to Eilenberg.
It follows that a k-automatic sequence is necessarily a sequence on a finite alphabet.

### Formal power series

Let u(n) be a sequence over an alphabet Σ and suppose that there is an injective function β from Σ to the finite field F$_q$, where q = p$^n$ for some prime p. The associated formal power series is
    $\sum _{i\geq 0}\beta (u(i))X^{i}.$
Then the sequence u is q-automatic if and only if this formal power series is algebraic over F$_q$(X). This result is due to Christol, and it is referred to in the literature as Christol's theorem.

## History

Automatic sequences were introduced by Büchi in 1960, although his paper took a more logico-theoretic approach to the matter and did not use the terminology found in this article. The notion of automatic sequences was further studied by Cobham in 1972, who called these sequences "uniform tag sequences".
The term "automatic sequence" first appeared in a paper of Deshouillers.

## Examples

The following sequences are automatic:

### Thue–Morse sequence

The Thue–Morse sequence t(n) (OEIS: A010060) is the fixed point of the morphism 0 → 01, 1 → 10. Since the n-th term of the Thue–Morse sequence counts the number of ones modulo 2 in the base-2 representation of n, it is generated by the two-state deterministic finite automaton with output pictured here, where being in state q$_0$ indicates there are an even number of ones in the representation of n and being in state q$_1$ indicates there are an odd number of ones. Hence, the Thue–Morse sequence is 2-automatic.

### Period-doubling sequence

The n-th term of the period-doubling sequence d(n) (OEIS: A096268) is determined by the parity of the exponent of the highest power of 2 dividing n. It is also the fixed point of the morphism 0 → 01, 1 → 00. Starting with the initial term w = 0 and iterating the 2-uniform morphism φ on w where φ(0) = 01 and φ(1) = 00, it is evident that the period-doubling sequence is the fixed-point of φ(w) and thus it is 2-automatic.

### Rudin–Shapiro sequence

The n-th term of the Rudin–Shapiro sequence r(n) (OEIS: A020985) is determined by the number of consecutive ones in the base-2 representation of n. The 2-kernel of the Rudin–Shapiro sequence is
    ${\begin{aligned}r(2n)&=r(n),\\r(4n+1)&=r(n),\\r(8n+7)&=r(2n+1),\\r(16n+3)&=r(8n+3),\\r(16n+11)&=r(4n+3).\end{aligned}}$
Since the 2-kernel consists only of r(n), r(2n + 1), r(4n + 3), and r(8n + 3), it is finite and thus the Rudin–Shapiro sequence is 2-automatic.

### Other sequences

Both the Baum–Sweet sequence (OEIS: A086747) and the regular paperfolding sequence (OEIS: A014577) are automatic. In addition, the general paperfolding sequence with a periodic sequence of folds is also automatic.

## Properties

Automatic sequences exhibit a number of interesting properties. A non-exhaustive list of these properties is presented below.
* Every automatic sequence is a morphic word.
* For k ≥ 2 and r ≥ 1, a sequence is k-automatic if and only if it is k$^r$-automatic. This result is due to Eilenberg.
* For h and k multiplicatively independent, a sequence is both h-automatic and k-automatic if and only if it is ultimately periodic. This result is due to Cobham also known as Cobham's theorem, with a multidimensional generalisation due to Semenov.
* If u(n) is a k-automatic sequence over an alphabet Σ and f is a uniform morphism from Σ$^∗$ to another alphabet Δ$^∗$, then f(u) is a k-automatic sequence over Δ.
* If u(n) is a k-automatic sequence, then the sequences u(k$^n$) and u(k$^n$ − 1) are ultimately periodic. Conversely, if u(n) is an ultimately periodic sequence, then the sequence v defined by v(k$^n$) = u(n) and otherwise zero is k-automatic.

## Proving and disproving automaticity

Given a candidate sequence $s=(s_{n})_{n\geq 0}$, it is usually easier to disprove its automaticity than to prove it. By the k-kernel characterization of k-automatic sequences, it suffices to produce infinitely many distinct elements in the k-kernel $K_{k}(s)$ to show that $s$ is not k-automatic. Heuristically, one might try to prove automaticity by checking the agreement of terms in the k-kernel, but this can occasionally lead to wrong guesses. For example, let
    $t=011010011\dots$
be the Thue–Morse word. Let $s$ be the word given by concatenating successive terms in the sequence of run-lengths of $t$. Then $s$ begins
    $s=12112221\dots .$.
It is known that $s$ is the fixed point $h^{\omega }(1)$ of the morphism
    $h(1)=121,h(2)=12221.$
The word $s$ is not 2-automatic, but certain elements of its 2-kernel agree for many terms. For example, $s_{16n+1}=s_{64n+1}{\text{ for }}0\leq n\leq 1864134$
but not for $n=1864135$.
Given a sequence that is conjectured to be automatic, there are a few useful approaches to proving it actually is. One approach is to directly construct a deterministic automaton with output that gives the sequence. Let $(s_{n})_{n\geq 0}$ written in the alphabet $\Delta$, and let $(n)_{k}$ denote the base-$k$ expansion of $n$. Then the sequence $s=(s_{n})_{n\geq 0}$ is $k$-automatic if and only each of the fibres
    $I_{k}(s,d):=\{(n)_{k}\mid s_{n}=d\}$
is a regular language. Checking regularity of the fibres can often be done using the pumping lemma for regular languages.
If $s_{k}(n)$ denotes the sum of the digits in the base-$k$ expansion of $n$ and $p(X)$ is a polynomial with non-negative integer coefficients, and if $k\geq 2$, $m\geq 1$ are integers, then the sequence
    $(s_{k}(p(n)){\pmod {m}})_{n\geq 0}$
is $k$-automatic if and only if $\deg p\leq 1$ or $m\mid k-1$.

## 1-automatic sequences

k-automatic sequences are normally only defined for k ≥ 2. The concept can be extended to k = 1 by defining a 1-automatic sequence to be a sequence whose n-th term depends on the unary notation for n; that is, (1)$^n$. Since a finite state automaton must eventually return to a previously visited state, all 1-automatic sequences are ultimately periodic.

## Generalizations

Automatic sequences are robust against variations to either the definition or the input sequence. For instance, as noted in the automata-theoretic definition, a given sequence remains automatic under both direct and reverse reading of the input sequence. A sequence also remains automatic when an alternate set of digits is used or when the base is negated; that is, when the input sequence is represented in base −k instead of in base k. However, in contrast to using an alternate set of digits, a change of base may affect the automaticity of a sequence.
The domain of an automatic sequence can be extended from the natural numbers to the integers via two-sided automatic sequences. This stems from the fact that, given k ≥ 2, every integer can be represented uniquely in the form $\sum _{0\leq i\leq r}a_{i}(-k)^{i},$ where $a_{i}\in \{0,\dots ,k-1\}$. Then a two-sided infinite sequence a(n)$_{n∈Z{\displaystyle\in\mathbb{Z}}}$ is (−k)-automatic if and only if its subsequences a(n)$_{n≥0}$ and a(−n)$_{n≥0}$ are k-automatic.
The alphabet of a k-automatic sequence can be extended from finite size to infinite size via k-regular sequences. The k-regular sequences can be characterized as those sequences whose k-kernel is finitely-generated. Every bounded k-regular sequence is automatic.

## Logical approach

For many 2-automatic sequences $s=(s_{n})_{n\geq 0}$, the map $n\mapsto s_{n}$ has the property that the first-order theory ${\text{FO}}(\mathbb {N} ,+,0,1,n\mapsto s_{n})$ is decidable. Since many non-trivial properties of automatic sequences can be written in first-order logic, it is possible to prove these properties mechanically by executing the decision procedure.
For example, the following properties of the Thue–Morse word can all be verified mechanically in this way:
* The Thue–Morse word is overlap-free, i.e., it does not contain a word of the form $cxcxc$ where $c$ is a single letter and $w$ is a possibly empty word.
* A non-empty word $x$ is bordered if there is a non-empty word $w$ and a possibly empty word $y$ with $x=wyw$. The Thue–Morse word contains a bordered factor for each length greater than 1.
* There is an unbordered factor of length $n$ in the Thue–Morse word if and only if $(n)_{2}\notin 1(01^{*}0)^{*}10^{*}1$ where $(n)_{2}$ denotes the binary representation of $n$.
The software Walnut, developed by Hamoon Mousavi, implements a decision procedure for deciding many properties of certain automatic words, such as the Thue–Morse word. This implementation is a consequence of the above work on the logical approach to automatic sequences.