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" formula_1 "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", δ, "q0", Δ, τ) be a deterministic finite automaton "with output", where
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:
Define a function "a" from the set of positive integers to the output alphabet Δ as follows:
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 formula_2 be a "k"-uniform morphism of a free monoid formula_3 and let formula_4 be a "coding" (that is, a formula_5-uniform morphism), as in the automata-theoretic case. If formula_6 is a fixed point of formula_2—that is, if formula_8—then formula_9 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
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 
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") () 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") () 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") () is determined by the number of consecutive ones in the base-2 representation of "n". The 2-kernel of the Rudin–Shapiro sequence is 
Since the 2-kernel consists only of "r"("n"), "r"(2"n" + 1), "r"(4"n" + 3), and "r"(8"n" + 3), it is finite and thus the Rudin–Shapiro sequence is 2-automatic.
Other sequences.
Both the Baum–Sweet sequence () and the regular paperfolding sequence () 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.
Proving and disproving automaticity.
Given a candidate sequence formula_13, 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 formula_14 to show that formula_15 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 
be the Thue–Morse word. Let formula_15 be the word given by concatenating successive terms in the sequence of run-lengths of formula_18. Then formula_15 begins
It is known that formula_15 is the fixed point formula_22 of the morphism
The word formula_15 is not 2-automatic, but certain elements of its 2-kernel agree for many terms. For example,
formula_25
but not for formula_26.
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 formula_27 written in the alphabet formula_28, and let formula_29 denote the base-formula_30 expansion of formula_31. Then the sequence formula_13 is formula_30-automatic if and only each of the fibres
is a regular language. Checking regularity of the fibres can often be done using the pumping lemma for regular languages.
If formula_35 denotes the sum of the digits in the base-formula_30 expansion of formula_31 and formula_38 is a polynomial with non-negative integer coefficients, and if formula_39, formula_40 are integers, then the sequence
is formula_30-automatic if and only if formula_43 or formula_44.
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 formula_45 where formula_46. Then a two-sided infinite sequence "a"("n")"n" formula_47 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 formula_13, the map formula_49 has the property that the first-order theory formula_50 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 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. 