The k-kernel of a sequence and Eilenberg's theorem #
The k-kernel of a sequence a : ℕ → Δ is the set of its subsequences n ↦ a (k ^ e * n + r)
with r < k ^ e. Eilenberg's theorem characterises the k-automatic sequences, for 2 ≤ k, as
those with a finite k-kernel. This is the form in which automaticity is established in the
proof of Christol's theorem, where the kernel of the coefficient sequence of an algebraic power
series is the orbit of the series under the Cartier operators, and in the comparison of
automaticity in the bases k and k ^ m.
The kernel is closed under the transitions b ↦ (n ↦ b (k * n + d)) with d < k, so it is the
state set of an automaton with output b ↦ b 0, the kernel automaton TauCeti.kernelDFAO.
Reading the digits of n least significant digit first from the state a, it outputs a n;
it does so on every base-k representation of n, including those padded with trailing zeros.
Main definitions and results #
TauCeti.kernel k a: thek-kernel ofa.TauCeti.self_mem_kernel,TauCeti.kernel_subset: a sequence lies in its kernel, and the kernel of a kernel element is contained in the kernel.TauCeti.kernel_subset_of_mem_of_forall: the kernel ofais contained in every set that containsaand is closed under the transitionsb ↦ (n ↦ b (k * n + d))withd < k.TauCeti.kernelDFAO k a: the kernel automaton, andTauCeti.output_eval_kernelDFAO: on any word of digits it outputsaat the value of the word.TauCeti.isAutomatic_iff_finite_kernel: Eilenberg's theorem, for2 ≤ ka sequence isk-automatic if and only if itsk-kernel is finite.
References #
- Jakub Byszewski, Jakub Konieczny, Automatic sequences and generalised polynomials, Canad. J. Math. 72 (2020), Section 1, Definition 1.4.
- Andrew Bridy, Automatic sequences and curves over finite fields, Algebra & Number Theory 11 (2017), Section 2.1, Theorem 2.2.
- Eric Rowland, Manon Stipulanti, Reem Yassawi, An elementary proof of Bridy's theorem, Section 3.
The k-kernel of a is contained in every set of sequences that contains a and is closed
under the transitions b ↦ (n ↦ b (k * n + d)) with d < k.
The kernel automaton #
Eilenberg's theorem #
A k-automatic sequence has a finite k-kernel.
For 2 ≤ k, a sequence with a finite k-kernel is k-automatic: the kernel automaton
computes it.