This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Diamond Structure in the Transducer Hierarchy

Noah Kaufmann
Abstract

We answer an open question in the theory of transducer degrees initially posed in [1] on the existence of a diamond structure in the transducer hierarchy. Transducer degrees are the equivalence classes formed by word transformations which can be realized by a finite state transducer, which form an order based on which words can be transformed into other words. We provide a construction which proves the existence of a diamond structure, while also introducing a new function on streams which may be useful for proving more results about the transducer hierarchy.

1 Introduction

Finite state transducers (FSTs) are ubiquitous in computer science, and infinite streams are also common in many fields. Yet there are very few results on how to transform an arbitrary stream into another stream with an FST. We define a stream σ\sigma as being above another stream τ\tau if some FST TT can transduce σ\sigma into τ\tau, with σ\sigma and τ\tau being the same degree if they can both be transduced into each other. The structure of these degrees, called the transducer hierarchy, has many parallels with Turing degrees. The main results that have been done thus far mostly deal with streams determined by polynomials, and in this paper we will present a new result that comes from a new operation on streams. This new operation, called fzip, may be useful in proving additional results, and allows us a new class of functions to consider the degrees of: piecewise polynomials.

2 Definitions

We will give some preliminary definitions with the goal of understanding the definition of a weight product, the key operation for all the results in this paper. For more definitions and background in this area, see [1, 2, 3, 4, 5]. We begin by setting 2 = {0,1}, which we will use as our input and output alphabet for all of our transducers. We use 2\textbf{2}^{\infty} to denote the set of all finite and infinite streams over 2. We will focus only on finite state transducers of the following form:

Definition 2.1.

A finite-state transducer is a tuple T=Q,q0,δ,λT=\langle Q,q_{0},\delta,\lambda\rangle where QQ is a finite set of states, q0Qq_{0}\in Q is the initial state, δ:Q×2Q\delta:Q\times\textbf{2}\rightarrow Q is the transition function, and λ:Q×22\lambda:Q\times\textbf{2}\rightarrow\textbf{2}^{*} is the output function.

Note that δ\delta and λ\lambda can be extended (δ:Q×2Q,λ:Q×22\delta:Q\times\textbf{2}^{*}\rightarrow Q,\lambda:Q\times\textbf{2}^{\infty}\rightarrow\textbf{2}^{\infty}) as follows:

δ(q,ϵ)=q,δ(q,au)=δ(δ(q,a),u), where qQ,a2,u2\delta(q,\epsilon)=q,\delta(q,au)=\delta(\delta(q,a),u),\textrm{ where }q\in Q,a\in\textbf{2},u\in\textbf{2}^{*}
λ(q,ϵ)=ϵ,λ(q,au)=λ(q,a)λ(δ(q,a),u), where qQ,a2,u2\lambda(q,\epsilon)=\epsilon,\lambda(q,au)=\lambda(q,a)\cdot\lambda(\delta(q,a),u),\textrm{ where }q\in Q,a\in\textbf{2},u\in\textbf{2}^{\infty}

The above equations correspond to inputting a (possibly infinite) stream of letters into TT. This allows us to define a function TT on finite or infinite strings in 2, by saying that T(w)T(w) is equal to the output of the FST TT after inputting ww. Formally speaking, this means that T(w)=λ(q0,w)T(w)=\lambda(q_{0},w). Now we can make the following definition, which is the basis for the transducer hierarchy:

Definition 2.2.

Let TT be an FST, and let σ,τ2\sigma,\tau\in\textbf{2}^{\infty} be infinite sequences. We say that TT transducestransduces σ\sigma to τ\tau, or that τ\tau is the TT-transducttransduct of σ\sigma, if T(σ)=τT(\sigma)=\tau. In general, for any two infinite sequences σ,τ\sigma,\tau we say that στ\sigma\geq\tau if there exists some TT so that T(σ)=τT(\sigma)=\tau.

This relation \geq is reflexive, and can be shown to be transitive by composition of FSTs (See Lemma 8, [1]). If for some σ,τ\sigma,\tau we have στ\sigma\geq\tau but not vice versa, we say σ>τ\sigma>\tau. If we do have στ\sigma\geq\tau and τσ\tau\geq\sigma then we say that στ\sigma\equiv\tau, and we use [σ][\sigma] to denote the equivalence class of σ\sigma. We call [σ][\sigma] the degree of σ\sigma.

Now that we have defined what a transducer degree is, we will focus our attention on a particular subset of streams, namely the streams which are generated by functions in the sense of the following definition.

Definition 2.3.

For a function ff from \mathbb{N} to \mathbb{N}, we define f\langle f\rangle to be the stream given by

f=i=010f(i)=10f(0)10f(1)10f(2)\langle f\rangle=\prod_{i=0}^{\infty}10^{f(i)}=10^{f(0)}10^{f(1)}10^{f(2)}\ldots

We will often use f\langle f\rangle to mean both the stream determined by ff, as well as the degree of that stream [f][\langle f\rangle]. We also refer to a part of the stream of the form 10f(i)10^{f(i)} as a block.

Having defined f\langle f\rangle in this way, some relatively simple initial results have been obtained in [2], which we state here.

Lemma 2.4.

Let f:,a,b.f:\mathbb{N}\rightarrow\mathbb{N},a,b\in\mathbb{N}. We have the following equivalences and inequalities:

  1. 1.

    af(n)f(n),\langle af(n)\rangle\equiv\langle f(n)\rangle, for a>0a>0

  2. 2.

    f(n+a)f(n)\langle f(n+a)\rangle\equiv\langle f(n)\rangle

  3. 3.

    f(n)+af(n)\langle f(n)+a\rangle\equiv\langle f(n)\rangle

  4. 4.

    f(n)f(an),\langle f(n)\rangle\geq\langle f(an)\rangle, for a>0a>0

  5. 5.

    f(n)af(2n)+bf(2n+1)\langle f(n)\rangle\geq\langle af(2n)+bf(2n+1)\rangle

One interesting consequence of the third equality is that any polynomial with a positive leading coefficient can be thought of as a stream and thus associated with a transducer degree, even if some of its values happen to be negative. For instance, the polynomial (n2)3(n-2)^{3} can’t directly be interpreted as a stream, since it is negative for n=0,1n=0,1. However, if we take (n2)3+8(n-2)^{3}+8, then this polynomial is nonnegative, and therefore corresponds to a stream (and thus a degree). So even though it’s technically incorrect, it will be convenient sometimes to refer to a degree such as (n2)3\langle(n-2)^{3}\rangle, when we mean more precisely the degree (n2)3+k\langle(n-2)^{3}+k\rangle for any k8k\geq 8. Similarly, the first equality allows us to refer to the degree of a function with rational coefficients, where we really mean the degree of the corresponding function multiplied by the appropriate scalar to eliminate any fractional coefficients.

Now we are ready to start defining weight products. We will not provide the full proof of the main result we need (Theorem 2.6), but a more detailed explanation can be found in [2]. We begin by defining a weight.

Definition 2.5.

A weight is a tuple α=a0,a1,,ak1,bk+1\alpha=\langle a_{0},a_{1},\ldots,a_{k-1},b\rangle\in\mathbb{Q}^{k+1} with each ai0a_{i}\geq 0. If ai=0a_{i}=0 for all ii then we say the weight is constant. To distinguish between weights and tuples of weights, weights will not be bolded but tuples of weights will, except potentially in cases where there is only one weight in the tuple.

Given a weight α\alpha as above and a function f:f:\mathbb{N}\rightarrow\mathbb{N} we can define αf\alpha\cdot f as:

αf=a0f(0)+a1f(1)++ak1f(k1)+b\alpha\cdot f=a_{0}f(0)+a_{1}f(1)+\ldots+a_{k-1}f(k-1)+b

We are ready to define the weight product. Let 𝜶=α0,α1,,αm1\bm{\alpha}=\langle\alpha_{0},\alpha_{1},\ldots,\alpha_{m-1}\rangle be a tuple of weights, with 𝜶\bm{\alpha^{\prime}} being the cyclic shift α1,α2,,αm1,α0\langle\alpha_{1},\alpha_{2},\ldots,\alpha_{m-1},\alpha_{0}\rangle.

Then the weight product of 𝜶\bm{\alpha} with ff, written as 𝜶f\bm{\alpha}\otimes f, is defined in the following way:

(𝜶f)(0)=α0f(\bm{\alpha}\otimes f)(0)=\alpha_{0}\cdot f
(𝜶f)(n+1)=(𝜶S|α0|1(f))(n)(\bm{\alpha}\otimes f)(n+1)=(\bm{\alpha^{\prime}}\otimes S^{|\alpha_{0}|-1}(f))(n)

Here Sk(f)(n)=f(n+k)S^{k}(f)(n)=f(n+k) and |α0||\alpha_{0}| indicates the length of the tuple α0\alpha_{0}. We call a weight product naturalnatural if 𝜶f(n)\bm{\alpha}\otimes f(n)\in\mathbb{N} for all nn. Note that since 𝜶\bm{\alpha} is a finite tuple of finite tuples in \mathbb{Q}, we can take the LCM of all of the denominators and multiply through to make the product natural. Since this does not change the degree of the resulting function (by Lemma 2.4), from now on we will assume that all weight products are natural. We also define the length of a tuple of weights to be 𝜶=i=0m1(|αi|1)||\bm{\alpha}||=\sum_{i=0}^{m-1}(|\alpha_{i}|-1). (By |αi||\alpha_{i}| we mean simply the number of elements in that weight.) Finally, we note that in the case where the tuple of weights only contains one weight, i.e. 𝜶=(α0)\bm{\alpha}=(\alpha_{0}), we will often use α0f\alpha_{0}\otimes f to denote 𝜶f\bm{\alpha}\otimes f.

The following image provides a more intuitive picture of how the weight product works, by showing pictorially how to compute the weight product of the tuple of weights 𝜶=α0,α1\bm{\alpha}=\langle\alpha_{0},\alpha_{1}\rangle with an arbitrary function f(n)f(n), where α0=2,4,6,8,α1=1,7,4\alpha_{0}=\langle 2,4,6,8\rangle,\alpha_{1}=\langle 1,7,4\rangle:

  1. \Tree(𝜶f)(0)=2f(0)+4f(1)+6f(2)+8(\bm{\alpha}\otimes f)(0)=2f(0)+4f(1)+6f(2)+8×6\times 6f(2)f(2)×4\times 4f(1)f(1)×2\times 2f(0)f(0)\Tree(𝜶f)(1)=f(3)+7f(4)+4(\bm{\alpha}\otimes f)(1)=f(3)+7f(4)+4×7\times 7f(4)f(4)×1\times 1f(3)f(3)
  1. \Tree(𝜶f)(2)=2f(5)+4f(6)+6f(7)+8(\bm{\alpha}\otimes f)(2)=2f(5)+4f(6)+6f(7)+8×6\times 6f(7)f(7)×4\times 4f(6)f(6)×2\times 2f(5)f(5)\Tree(𝜶f)(3)=f(8)+7f(9)+4(\bm{\alpha}\otimes f)(3)=f(8)+7f(9)+4×7\times 7f(9)f(9)×1\times 1f(8)f(8)

This also provides us with a better notion of what the length 𝜶||\bm{\alpha}|| represents. For this 𝜶\bm{\alpha}, we have 𝜶=(41)+(31)=5||\bm{\alpha}||=(4-1)+(3-1)=5, which is exactly how many values of ff we go through after applying every weight.

The key property of weight products is that they can replace transducers when used on a certain class of streams known as spiralling functions. For the purposes of this paper, we are interested in two subclasses of spiralling functions: polynomials and piecewise polynomials. In this paper, by “piecewise polynomial” we refer to a slightly different definition than the standard one. Here, we define a piecewise polynomial to be a function which, given a finite partition of \mathbb{N}, agrees with a polynomial on each element of this partition. In particular, the partitions we use will be residue classes modulo some nn\in\mathbb{N}. We will refer to a polynomial defined on a particular element of the partition as a “piece” of the piecewise polynomial.

Now that we have defined weight products as well as the class of functions we wish to apply them to, we can proceed to state the main result that we need for the rest of the paper. The full proof of this result can be found in (Theorem 21, [3]).

Theorem 2.6.

Let f,g:f,g:\mathbb{N}\rightarrow\mathbb{N} be (possibly piecewise) polynomials. Then gf\langle g\rangle\geq\langle f\rangle if and only if there exists a tuple of weights 𝛂\bm{\alpha} and integers n0,m0n_{0},m_{0} such that Sn0(f)=𝛂Sm0(g)S^{n_{0}}(f)=\bm{\alpha}\otimes S^{m_{0}}(g).

This theorem tells us that if we want to show that one polynomial degree is above another, we can consider weight products, rather than trying to figure out a transducer directly. The following theorem will give us a useful result for comparing polynomial degrees with non-polynomial degrees.

Theorem 2.7.

Let f:f:\mathbb{N}\rightarrow\mathbb{N} be a (possibly piecewise) polynomial, and σ2\sigma\in 2^{\mathbb{N}}. Then fσ\langle f\rangle\geq\sigma if and only if σαSn0(f)\sigma\equiv\langle\alpha\otimes S^{n_{0}}(f)\rangle for some integer n00n_{0}\geq 0, and a tuple of weights α\alpha.

These two theorems justify the use of weight products as a replacement for transducers. This greatly simplifies things, since we no longer need to consider how to transduce a stream by any transducer. Instead, we can consider weight products, which are much easier to work with. Having defined weight products, we now turn to a new operation on streams: fzip.

3 Basic Results

Given two streams σ=σ0σ1σ2\sigma=\sigma_{0}\sigma_{1}\sigma_{2}\cdots and τ=τ0τ1τ2\tau=\tau_{0}\tau_{1}\tau_{2}\cdots, one natural operation to define on them is the zip operation, also called merge in some contexts. This operation is defined by interleaving the two streams, that is, alternating elements from each stream. The formal definition is as follows:

Definition 3.1.

The iith term of the stream zip(σ,τ)\mbox{{\sf zip}}(\sigma,\tau) is given by the following equation:

zip(σ,τ)i={σi2i evenτ(i1)2i odd\mbox{{\sf zip}}(\sigma,\tau)_{i}=\begin{cases}\sigma_{\frac{i}{2}}\quad&\text{i even}\\ \tau_{\frac{(i-1)}{2}}\quad&\text{i odd}\\ \end{cases}

Intuitively, this is very easy to understand: the stream will simply start with the first element of σ\sigma, followed by the first element of τ\tau, then the second element of σ\sigma, and so on. This operation has many applications, and in the field of transducer degrees one property is immediately obvious: zip(σ,τ)σ\mbox{{\sf zip}}(\sigma,\tau)\geq\sigma and zip(σ,τ)τ\mbox{{\sf zip}}(\sigma,\tau)\geq\tau. The fact that an FST can be constructed for each of these inequalities is easy to prove, as shown in the following image:

q1q_{1}q2q_{2}0|0,1|10|0,1|10|ϵ,1|ϵ0|\epsilon,1|\epsilon
Figure 1: Making q1q_{1} the initial state proves that zip(σ,τ)σ\mbox{{\sf zip}}(\sigma,\tau)\geq\sigma, and making q2q_{2} the initial state proves that zip(σ,τ)τ\mbox{{\sf zip}}(\sigma,\tau)\geq\tau.

However, when working with polynomial degrees, zip is not quite the right operation. The main problem with zip is that if we apply it to two polynomial streams, it’s not clear that the result is a polynomial stream, and it’s also not clear how to define it in terms of the original streams. For example, suppose we wanted to take σ=zip(n,n2)\sigma=\mbox{{\sf zip}}(\langle n\rangle,\langle n^{2}\rangle). The beginning of this stream is given by 111100110000100001001111100110000100001001..., which corresponds to a function f(n)f(n) with values as shown in the table below.

n 0 1 2 3 4 5 6 7
f(n)f(n) 0 0 0 2 0 4 4 2

It’s not at all clear based on the above table that this function is even a polynomial, and since it has at least four zeros it must be at least a quartic if it is. So zip is difficult to work with if we are dealing with polynomial streams. Fortunately, there is a similar operation which is very useful for our purposes.

Definition 3.2.

Let ff and gg be functions from \mathbb{N}\rightarrow\mathbb{N}.

We define fzip(f,g)\mbox{{\sf fzip}}(f,g) to be the function

fzip(f,g)(n)={f(n2)n eveng(n12)n odd\mbox{{\sf fzip}}(f,g)(n)=\begin{cases}f(\frac{n}{2})\quad&\text{n even}\\ g(\frac{n-1}{2})\quad&\text{n odd}\\ \end{cases}

Therefore fzip(f,g)\langle\mbox{{\sf fzip}}(f,g)\rangle is

fzip(f,g)=i=010fzip(f,g)(i)=10f(0)10g(0)10f(1)10g(1)\langle\mbox{{\sf fzip}}(f,g)\rangle=\prod_{i=0}^{\infty}10^{\mbox{{\sf fzip}}(f,g)(i)}=10^{f(0)}10^{g(0)}10^{f(1)}10^{g(1)}\ldots

And now the advantage of fzip becomes clear: instead of interleaving individual letters, we can interleave the blocks of zeros determined by our functions. Just as with zip, it’s immediately clear that this stream lies above the streams corresponding to ff and gg, in this case with a slightly more complex transducer.

q1q_{1}q2q_{2}0|00|01|ϵ1|\epsilon0|ϵ0|\epsilon1|11|1
Figure 2: Similar to before, making q2q_{2} the initial state proves that fzip(f,g)f\mbox{{\sf fzip}}(f,g)\geq f, and making q1q_{1} the initial state proves that fzip(f,g)g\mbox{{\sf fzip}}(f,g)\geq g.

Due to this similarity, we do actually have one identity relating zip and fzip, in the case where we are zipping a functional stream with itself.

Lemma 3.3.

For all functions ff from \mathbb{N} to \mathbb{N}, zip(f,f)=fzip(0,2f)\mbox{{\sf zip}}(\langle f\rangle,\langle f\rangle)=\langle\mbox{{\sf fzip}}(0,2f)\rangle, and this stream is in the same degree as f\langle f\rangle.

Proof.

We know that

f=i=010f(i)=10f(0)10f(1)10f(2)\langle f\rangle=\prod_{i=0}^{\infty}10^{f(i)}=10^{f(0)}10^{f(1)}10^{f(2)}\ldots

Zipping this stream with itself produces the following stream:

zip(f,f)=1102f(0)1102f(1)1102f(2)\mbox{{\sf zip}}(\langle f\rangle,\langle f\rangle)=110^{2f(0)}110^{2f(1)}110^{2f(2)}\ldots

Because of the pattern of 1111’s, this stream corresponds to a function which alternates between being identically zero and two times the original function, i.e. fzip(0,2f)\mbox{{\sf fzip}}(0,2f). Since it can be written as a zip of f\langle f\rangle, we know that its degree is greater than or equal to the degree of f\langle f\rangle, and applying a transducer which doubles every letter to f\langle f\rangle gives us the reverse inequality. Therefore these streams are in the same degree. ∎

A less obvious property is that fzip is not symmetric in general, so fzip(f,g)\langle\mbox{{\sf fzip}}(f,g)\rangle need not equal fzip(g,f)\langle\mbox{{\sf fzip}}(g,f)\rangle. This was proven inadvertently in [5], where a careful reading of the main proof in terms of fzip gives us a specific example of two functions f,gf,g which satisfy fzip(f,g)fzip(g,f)\langle\mbox{{\sf fzip}}(f,g)\rangle\neq\langle\mbox{{\sf fzip}}(g,f)\rangle. However, there are two classes of functions which do allow fzip to be symmetric, as detailed in the following two lemmas.

Lemma 3.4.

For all functions f,g:f,g:\mathbb{N}\rightarrow\mathbb{N}, fzip(f(n),g(n))fzip(g(n),f(n+1))\langle\mbox{{\sf fzip}}(f(n),g(n))\rangle\equiv\langle\mbox{{\sf fzip}}(g(n),f(n+1))\rangle.

Proof.

This is easiest to understand in the form of a “proof by table”. Consider the following table of values for h(n)=fzip(f(n),g(n))h(n)=\mbox{{\sf fzip}}(f(n),g(n)):

n 0 1 2 3 4 5 6 7
h(n)h(n) f(0) g(0) f(1) g(1) f(2) g(2) f(3) g(3)

Now if we delete the first block of the stream fzip(f(n),g(n))\mbox{{\sf fzip}}(f(n),g(n)), which an FST can do, this corresponds to the following table:

n 0 1 2 3 4 5 6 7
h(n)h^{\prime}(n) g(0) f(1) g(1) f(2) g(2) f(3) g(3) f(4)

Therefore h(n)=g(n2)h^{\prime}(n)=g(\frac{n}{2}) for even nn, and h(n)=f(n+12)h^{\prime}(n)=f(\frac{n+1}{2}) for odd nn. So by definition, h(n)=fzip(g(n),f(n+1))h^{\prime}(n)=\mbox{{\sf fzip}}(g(n),f(n+1)). This shows that fzip(f(n),g(n))fzip(g(n),f(n+1))\langle\mbox{{\sf fzip}}(f(n),g(n))\rangle\geq\langle\mbox{{\sf fzip}}(g(n),f(n+1))\rangle. The reverse inequality is very similar, except that we need to add the block 10f(0)10^{f(0)} to the beginning of the stream fzip(g(n),f(n+1))\mbox{{\sf fzip}}(g(n),f(n+1)), which again can be done by an FST. Therefore fzip(f(n),g(n))fzip(g(n),f(n+1))\langle\mbox{{\sf fzip}}(f(n),g(n))\rangle\equiv\langle\mbox{{\sf fzip}}(g(n),f(n+1))\rangle. ∎

With this lemma, we can now show that there are two classes of functions for which fzip is symmetric: linear and exponential functions.

Lemma 3.5.

Suppose f(n)=an+bf(n)=an+b or f(n)=abnf(n)=ab^{n} for some a,ba,b\in\mathbb{N}, and let gg be any function from \mathbb{N} to \mathbb{N}. Then fzip(f(n),g(n))fzip(g(n),f(n))\langle\mbox{{\sf fzip}}(f(n),g(n))\rangle\equiv\langle\mbox{{\sf fzip}}(g(n),f(n))\rangle.

Proof.

We have two distinct cases: f(n)=an+bf(n)=an+b and f(n)=abnf(n)=ab^{n}.

Case 1: f(n)=an+bf(n)=an+b

First, apply the previous lemma to fzip(f(n),g(n))\mbox{{\sf fzip}}(f(n),g(n)) to say that fzip(f(n),g(n))fzip(g(n),f(n+1))\langle\mbox{{\sf fzip}}(f(n),g(n))\rangle\equiv\langle\mbox{{\sf fzip}}(g(n),f(n+1))\rangle. The function fzip(g(n),f(n+1))\mbox{{\sf fzip}}(g(n),f(n+1)) has the form

fzip(g(n),f(n+1))={g(n2)n evena(n+12)+bn odd\mbox{{\sf fzip}}(g(n),f(n+1))=\begin{cases}g(\frac{n}{2})\quad&\text{n even}\\ a(\frac{n+1}{2})+b\quad&\text{n odd}\\ \end{cases}

We can rewrite this as

fzip(g(n),f(n+1))={g(n2)n evena(n12)+a+bn odd\mbox{{\sf fzip}}(g(n),f(n+1))=\begin{cases}g(\frac{n}{2})\quad&\text{n even}\\ a(\frac{n-1}{2})+a+b\quad&\text{n odd}\\ \end{cases}

We can now delete aa zeroes from each odd block in the corresponding stream. Since this is a reversible operation, the stream corresponding to fzip(g(n),f(n+1))\mbox{{\sf fzip}}(g(n),f(n+1)) is in the same degree as the function corresponding to the stream below:

h(n)={g(n2)n evena(n12)+bn oddh(n)=\begin{cases}g(\frac{n}{2})\quad&\text{n even}\\ a(\frac{n-1}{2})+b\quad&\text{n odd}\\ \end{cases}

But this new function h(n)h(n) is just fzip(g(n),f(n))\mbox{{\sf fzip}}(g(n),f(n)). Therefore if f(n)=an+bf(n)=an+b, fzip(f(n),g(n))fzip(g(n),f(n))\langle\mbox{{\sf fzip}}(f(n),g(n))\rangle\equiv\langle\mbox{{\sf fzip}}(g(n),f(n))\rangle.

Case 2: f(n)=abnf(n)=ab^{n}

This case will proceed almost identically to the first case.

Again, we apply the previous lemma to fzip(f(n),g(n))\mbox{{\sf fzip}}(f(n),g(n)) to say that fzip(f(n),g(n))fzip(g(n),f(n+1))\langle\mbox{{\sf fzip}}(f(n),g(n))\rangle\equiv\langle\mbox{{\sf fzip}}(g(n),f(n+1))\rangle. The function fzip(g(n),f(n+1))\mbox{{\sf fzip}}(g(n),f(n+1)) now has the form

fzip(g(n),f(n+1))={g(n2)n evenabn+12n odd\mbox{{\sf fzip}}(g(n),f(n+1))=\begin{cases}g(\frac{n}{2})\quad&\text{n even}\\ ab^{\frac{n+1}{2}}\quad&\text{n odd}\\ \end{cases}

As before, this can be rewritten:

fzip(g(n),f(n+1))={g(n2)n evenbabn12n odd\mbox{{\sf fzip}}(g(n),f(n+1))=\begin{cases}g(\frac{n}{2})\quad&\text{n even}\\ bab^{\frac{n-1}{2}}\quad&\text{n odd}\\ \end{cases}

And now the final step is to divide each odd block by bb, which is a reversible FST operation.

h(n)={g(n2)n evenabn12n oddh(n)=\begin{cases}g(\frac{n}{2})\quad&\text{n even}\\ ab^{\frac{n-1}{2}}\quad&\text{n odd}\\ \end{cases}

As before, h(n)h(n) is just fzip(g(n),f(n))\mbox{{\sf fzip}}(g(n),f(n)). Therefore if f(n)=abnf(n)=ab^{n}, fzip(f(n),g(n))fzip(g(n),f(n))\langle\mbox{{\sf fzip}}(f(n),g(n))\rangle\equiv\langle\mbox{{\sf fzip}}(g(n),f(n))\rangle.

We observe that while it may be possible for functions which are not linear or exponential to have this property (of allowing fzip to be symmetric) it is worth pointing out that the proof relies on the defining characteristics of linear and exponential functions, namely that for linear functions f(n+1)=f(n)+af(n+1)=f(n)+a, and for exponential functions f(n+1)=bf(n)f(n+1)=bf(n). Since our operations on individual blocks are restricted to exactly these operations (addition/subtraction and division/multiplication) this may suggest that these are the only types of functions that could work for this lemma, or at least that expanding this lemma to other types of functions may be difficult.

We conclude this section by considering a couple of natural questions about fzip: under what circumstances can we compare one fzip with another, and how can we compare an fzip of two functions ff and gg with some third function hh? For the first question, intuitively we would think that if f1(n),g1(n)f_{1}(n),g_{1}(n) are above f2(n),g2(n)f_{2}(n),g_{2}(n) respectively in the transducer hierarchy, then fzip(f1(n),g1(n))\mbox{{\sf fzip}}(f_{1}(n),g_{1}(n)) should be above fzip(f2(n),g2(n))\mbox{{\sf fzip}}(f_{2}(n),g_{2}(n)). However, the main difficulty is that while fzip intertwines two functions, the weight product can’t be easily intertwined in the same way. For the second question, we can provide a very weak result which may illustrate the difficulty of this problem.

Lemma 3.6.

Let f,g,hf,g,h be functions from \mathbb{N} to \mathbb{N}. Suppose that there exist weights 𝛂=(α0,α1,,αn1)\bm{\alpha}=(\alpha_{0},\alpha_{1},...,\alpha_{n-1}) and 𝛃=(β0,β1,βm1)\bm{\beta}=(\beta_{0},\beta_{1},...\beta_{m-1}) with f=𝛂hf=\bm{\alpha}\otimes h and g=𝛃hg=\bm{\beta}\otimes h. Further suppose that n=mn=m and for all ii, |αi|=|βi||\alpha_{i}|=|\beta_{i}|. Then h(n)fzip(f(2n),g(2n+1))\langle h(n)\rangle\geq\langle\mbox{{\sf fzip}}(f(2n),g(2n+1))\rangle.

Proof.

We will begin by constructing a new weight 𝜸\bm{\gamma} from 𝜶\bm{\alpha} and 𝜷\bm{\beta}, and showing that (𝜸h)(n)(\bm{\gamma}\otimes h)(n) is equal to fzip(f(2n),g(2n+1))\mbox{{\sf fzip}}(f(2n),g(2n+1)). We have two different cases for constructing 𝜸\bm{\gamma} depending on if mm is even or odd.

Case 1: mm is even

If mm is even, simply take 𝜶\bm{\alpha} and replace each α2i+1\alpha_{2i+1} with the corresponding β2i+1\beta_{2i+1} to obtain 𝜸\bm{\gamma}. Then 𝜸=(α0,β1,α2,β3,βm1)\bm{\gamma}=(\alpha_{0},\beta_{1},\alpha_{2},\beta_{3},...\beta_{m-1}).

Case 2: mm is odd

Start as before, by replacing the α2i+1\alpha_{2i+1}’s in 𝜶\bm{\alpha} with the β2i+1\beta_{2i+1}’s, but this time we will also be replacing the β2i+1\beta_{2i+1}’s in 𝜷\bm{\beta} with the α2i+1\alpha_{2i+1} weights from 𝜶\bm{\alpha}. Let’s call these new weight tuples 𝜶=(α0,β1,α2,β3,,αm1)\bm{\alpha^{\prime}}=(\alpha_{0},\beta_{1},\alpha_{2},\beta_{3},...,\alpha_{m-1}) and 𝜷=(β0,α1,β2,α3,,βm1)\bm{\beta^{\prime}}=(\beta_{0},\alpha_{1},\beta_{2},\alpha_{3},...,\beta_{m-1}). Now we define 𝜸\bm{\gamma} to be the weight tuple obtained by concatenating 𝜶\bm{\alpha^{\prime}} and 𝜷\bm{\beta^{\prime}}, i.e. 𝜸=((α0,β1,α2,β3,,αm1,β0,α1,β2,α3,,βm1)\bm{\gamma}=((\alpha_{0},\beta_{1},\alpha_{2},\beta_{3},...,\alpha_{m-1},\beta_{0},\alpha_{1},\beta_{2},\alpha_{3},...,\beta_{m-1}).

Now that we have a definition of 𝜸\bm{\gamma}, we can proceed to proving that (𝜸h)(n)=fzip(f(2n),g(2n+1))(\bm{\gamma}\otimes h)(n)=\mbox{{\sf fzip}}(f(2n),g(2n+1)). We show this by proving that for even nn we have (𝜸h)(n)=(𝜶h)(n)=f(n)(\bm{\gamma}\otimes h)(n)=(\bm{\alpha}\otimes h)(n)=f(n), and for odd nn we have (𝜸h)(n)=(𝜷h)(n)=g(n)(\bm{\gamma}\otimes h)(n)=(\bm{\beta}\otimes h)(n)=g(n). Let’s start by assuming nn is even, and from the proof for even nn it will be clear that the proof for odd nn is identical.

If nn is even, then by construction of 𝜸\bm{\gamma} and the definition of the weight product, we have for some kk, (𝜸h)(n)=αmSk(f)(\bm{\gamma}\otimes h)(n)=\alpha_{m}\cdot S^{k}(f). Similarly, for some kk^{\prime}, (𝜶h)(n)=αmSk(f)(\bm{\alpha}\otimes h)(n)=\alpha_{m}\cdot S^{k^{\prime}}(f). Letting L=𝜸L=||\bm{\gamma}||, mm is equal to nn mod L (intuitively, mm is the number of times we go through all of the weights in 𝜸\bm{\gamma}). We will show that k=kk=k^{\prime}.

The key to this proof is the condition that each αi\alpha_{i} has the same length as the corresponding βi\beta_{i}. Because of this condition, whenever we apply the recursive part of the weight product definition, we are shifting ff by the same amount whether we are applying the weights from 𝜸\bm{\gamma} (which are half αi\alpha_{i}’s and half βi\beta_{i}’s) or weights from 𝜶\bm{\alpha} only. More rigorously, we can see this by calculating the exact values of kk and kk^{\prime}.

We have that kk is equal to (nm)Lm+i=0m1(|γi|1)(n-m)\frac{L}{m}+\sum_{i=0}^{m-1}(|\gamma_{i}|-1), where γi\gamma_{i} is the iith weight in 𝜸\bm{\gamma} (γi\gamma_{i} alternates between αi\alpha_{i} and βi\beta_{i}). Similarly, k=(nm)Lm+i=0m1(|αi|1)k^{\prime}=(n-m)\frac{L}{m}+\sum_{i=0}^{m-1}(|\alpha_{i}|-1). From the length condition on the weights in 𝜶\bm{\alpha} and 𝜷\bm{\beta}, |γi|=|αi||\gamma_{i}|=|\alpha_{i}| for all ii, and therefore k=kk=k^{\prime}. This means that for even nn, (𝜸h)(n)=(𝜶h)(n)(\bm{\gamma}\otimes h)(n)=(\bm{\alpha}\otimes h)(n), and by definition of 𝜶\bm{\alpha}, (𝜶h)(n)=f(n)(\bm{\alpha}\otimes h)(n)=f(n). Therefore (𝜸h)(n)=f(n)(\bm{\gamma}\otimes h)(n)=f(n) for even nn. The case where nn is odd proceeds mostly identically, replacing 𝜶\bm{\alpha} with 𝜷\bm{\beta} (and ff with gg) where appropriate. So now we have shown that (𝜸h)(n)=f(n)(\bm{\gamma}\otimes h)(n)=f(n) for even nn and (𝜸h)(n)=g(n)(\bm{\gamma}\otimes h)(n)=g(n) for odd nn, which is exactly the definition of fzip(f(2n),g(2n+1))\mbox{{\sf fzip}}(f(2n),g(2n+1)). Therefore (𝜸h)(n)=fzip(f(2n),g(2n+1))(\bm{\gamma}\otimes h)(n)=\mbox{{\sf fzip}}(f(2n),g(2n+1)) and thus h(n)fzip(f(2n),g(2n+1))\langle h(n)\rangle\geq\langle\mbox{{\sf fzip}}(f(2n),g(2n+1))\rangle.

4 A Diamond Structure in the Transducer Hierarchy

Now we proceed to our main result. We need two more lemmas before moving on to the main proof.

Lemma 4.1.

For all polynomials ff of degree 2, we can find a weight α\alpha of length 2 and integers k, m such that αSk(n2)=Smf(n)\alpha\otimes S^{k}(n^{2})=S^{m}f(n).

Proof.

Let f(n)=an2+bn+cf(n)=an^{2}+bn+c. We assume for simplicity that c=0c=0, since the constant term is irrelevant for transducer degrees. We can also assume that b>0b>0, since if not we can simply shift ff (i.e. choose a positive mm) until this holds. Then we claim that the weight α=14ab+aba,baba,(2bba+baba2)\alpha=\frac{1}{4}\langle a-b+a\lfloor\frac{b}{a}\rfloor,b-a\lfloor\frac{b}{a}\rfloor,-(2b\lfloor\frac{b}{a}\rfloor+b-a\lfloor\frac{b}{a}\rfloor^{2})\rangle, and the integers k=ba,m=0k=\lfloor\frac{b}{a}\rfloor,m=0, prove the lemma.

Indeed, this is simply a matter of verifying this computationally. From the definition of a weight product, since α\alpha only contains one weight, we have

(αSban2)(n)=14(ab+aba)(2n+ba)2+14(baba)(2n+1+ba)2)14(2bba+baba2)(\alpha\otimes S^{\lfloor\frac{b}{a}\rfloor}n^{2})(n)=\frac{1}{4}(a-b+a\lfloor\frac{b}{a}\rfloor)(2n+\lfloor\frac{b}{a}\rfloor)^{2}+\frac{1}{4}(b-a\lfloor\frac{b}{a}\rfloor)(2n+1+\lfloor\frac{b}{a}\rfloor)^{2})-\frac{1}{4}(2b\lfloor\frac{b}{a}\rfloor+b-a\lfloor\frac{b}{a}\rfloor^{2})

=14(ab+aba)(4n2+4nba+ba2)+14(baba)(4n2+4n+4nba+2ba+ba2+1)14(2bba+baba2)=\frac{1}{4}(a-b+a\lfloor\frac{b}{a}\rfloor)(4n^{2}+4n\lfloor\frac{b}{a}\rfloor+\lfloor\frac{b}{a}\rfloor^{2})+\frac{1}{4}(b-a\lfloor\frac{b}{a}\rfloor)(4n^{2}+4n+4n\lfloor\frac{b}{a}\rfloor+2\lfloor\frac{b}{a}\rfloor+\lfloor\frac{b}{a}\rfloor^{2}+1)-\frac{1}{4}(2b\lfloor\frac{b}{a}\rfloor+b-a\lfloor\frac{b}{a}\rfloor^{2})

=14(4an2+4anba+aba24bn24bnbabba2+4an2ba4anba2+aba3)+14(4bn2+4bn+4bnba+2bba+b+bba24an2ba4anba4anba22aba2abaaba3)14(2bba+baba2)=\frac{1}{4}(4an^{2}+4an\lfloor\frac{b}{a}\rfloor+a\lfloor\frac{b}{a}\rfloor^{2}-4bn^{2}-4bn\lfloor\frac{b}{a}\rfloor-b\lfloor\frac{b}{a}\rfloor^{2}+4an^{2}\lfloor\frac{b}{a}\rfloor 4an\lfloor\frac{b}{a}\rfloor^{2}+a\lfloor\frac{b}{a}\rfloor^{3})+\frac{1}{4}(4bn^{2}+4bn+4bn\lfloor\frac{b}{a}\rfloor+2b\lfloor\frac{b}{a}\rfloor+b+b\lfloor\frac{b}{a}\rfloor^{2}-4an^{2}\lfloor\frac{b}{a}\rfloor-4an\lfloor\frac{b}{a}\rfloor-4an\lfloor\frac{b}{a}\rfloor^{2}-2a\lfloor\frac{b}{a}\rfloor^{2}-a\lfloor\frac{b}{a}\rfloor-a\lfloor\frac{b}{a}\rfloor^{3})-\frac{1}{4}(2b\lfloor\frac{b}{a}\rfloor+b-a\lfloor\frac{b}{a}\rfloor^{2})

=14(4an2+4bn)+14(2bba+baba2)14(2bba+baba2)=\frac{1}{4}(4an^{2}+4bn)+\frac{1}{4}(2b\lfloor\frac{b}{a}\rfloor+b-a\lfloor\frac{b}{a}\rfloor^{2})-\frac{1}{4}(2b\lfloor\frac{b}{a}\rfloor+b-a\lfloor\frac{b}{a}\rfloor^{2})

=an2+bn=an^{2}+bn

However, we do need to be careful here, and make sure to check that α\alpha is indeed a valid weight. So we need its entries to both be nonnegative.

Because baba\lfloor\frac{b}{a}\rfloor\leq\frac{b}{a}, babababa=0b-a\lfloor\frac{b}{a}\rfloor\geq b-a\frac{b}{a}=0. So the second entry is nonnegative. Similarly, since baba1\lfloor\frac{b}{a}\rfloor\geq\frac{b}{a}-1, ab+abaab+a(ba1)=ab+ba=0\langle a-b+a\lfloor\frac{b}{a}\rfloor\geq\langle a-b+a(\frac{b}{a}-1)=a-b+b-a=0 and the first entry is also nonnegative. So α\alpha is a valid weight, and αSk(n2)=f(n)\alpha\otimes S^{k}(n^{2})=f(n).

Now we prove the second lemma, which gives us essentially the inverse statement of the previous lemma. The basic computations behind this lemma were modified from Theorem 5.2 in [2] to better suit the purposes of this paper.

Lemma 4.2.

Let ff be a quadratic function of the form a(n+1)2+b(n+1)a(n+1)^{2}+b(n+1), with 2a>b>02a>b>0. Then there is a weight α\alpha of length 2 such that αf\alpha\otimes f = (n+1)2(n+1)^{2}.

Proof.

We claim that the weight α=18a2(b,2ab,b2+ab+6a2+1)\alpha=\frac{1}{8a^{2}}(b,2a-b,b^{2}+ab+6a^{2}+1) satisfies (αf)(n)=(n+1)2(\alpha\otimes f)(n)=(n+1)^{2}. This can be verified computationally, by simplifying the expression 18a2(bf(2n)+(2ab)f(2n+1))\frac{1}{8a^{2}}(bf(2n)+(2a-b)f(2n+1)), and noting that since 2a>b>02a>b>0, both bb and 2ab2a-b are positive, making α\alpha a valid weight. ∎

Theorem 4.3.

The degree fzip(n,n2)\langle\mbox{{\sf fzip}}(n,n^{2})\rangle is strictly greater than n\langle n\rangle, and there are no intermediate degrees.

Proof.

The fact that fzip(n,n2)\langle\mbox{{\sf fzip}}(n,n^{2})\rangle is strictly greater than n\langle n\rangle is trivial, since if nn could be transduced into fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}), it could also be transduced into n2n^{2}, which has been shown to be impossible. Proving that there are no intermediate degrees is the nontrivial part.

We set out to prove this statement by assuming that there is some intermediate degree. Since fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}) is a piecewise polynomial function, the degree of anything below it is equivalent to g\langle g\rangle for some (piecewise) polynomial function gg, and in particular gg is a weight product of fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}). Because fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}) is a piecewise polynomial function, any weight product will also be a piecewise polynomial function, and the pieces will all be linear or quadratic polynomials. (We can remove constant functions without any loss of degree). So then there are three cases:

Case 1: gg has only quadratic polynomials as its pieces.

Case 2: gg has only linear polynomials as its pieces.

Case 3: gg has both linear and quadratic polynomials as its pieces.

Recall that by “pieces”, we mean that since gg can be written as a function which is defined piecewise by N different functions, we call these functions the “pieces” of gg.

Now we consider each case. For Case 1, gg cannot be transduced into nn if each piece is quadratic, since the block size grows too fast to allow this. For Case 2, where gg is a piecewise linear function, suppose gg is equal to:

g(n)={a1n+b1 0modNa2n+b2 1modNaNn+bN N-1modNg(n)=\begin{cases}a_{1}n+b_{1}\quad&\text{n $\equiv$ 0modN}\\ a_{2}n+b_{2}\quad&\text{n $\equiv$ 1modN}\\ \vdots\\ a_{N}n+b_{N}\quad&\text{n $\equiv$ N-1modN}\\ \end{cases}

Then taking the product of the weight 𝜶\bm{\alpha} =(α1,α2,,αN)=(\alpha_{1},\alpha_{2},\cdots,\alpha_{N}), where αi=(ai,bi)\alpha_{i}=(a_{i},b_{i}), with nn shows that in this case ng\langle n\rangle\geq\langle g\rangle, and since gg is clearly transducible to nn they must be of equal degree.

Now we have only Case 3, where gg has both linear and quadratic pieces. We will show that gg can be transduced back into fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}), and this will complete the proof.

First, we can assume that the first piece of gg is linear by simply deleting blocks from the beginning of g\langle g\rangle.

We can then combine all of the other pieces of gg via a weight of the form (1,0),(1,1,,1,0)\langle(1,0),(1,1,\cdots,1,0)\rangle, which preserves the first piece and sums up all of the other pieces. So now gg has the form

g1(n)={an+bn evenAn2+Bn+Cn oddg_{1}(n)=\begin{cases}an+b\quad&\text{n even}\\ An^{2}+Bn+C\quad&\text{n odd}\\ \end{cases}

We can easily construct a transducer to subtract bb from only the even-numbered blocks and CC from the odd-numbered blocks, and also a transducer to divide even-numbered blocks by aa. Then g2g_{2} has the form

g2(n)={nn evenAn2+Bnn oddg_{2}(n)=\begin{cases}n\quad&\text{n even}\\ An^{2}+Bn\quad&\text{n odd}\\ \end{cases}

Remove the first two blocks to shift g2g_{2} to the right by 2, and then subtract 2 from all even blocks to obtain:

g3(n)={nn evenA(n+2)2+B(n+2)n oddg_{3}(n)=\begin{cases}n\quad&\text{n even}\\ A(n+2)^{2}+B(n+2)\quad&\text{n odd}\\ \end{cases}

Note that we can rewrite A(n+2)2+B(n+2)A(n+2)^{2}+B(n+2) as An2+4An+4+Bn+2B=An2+(4A+B)n+2B+4=An2+Bn+CAn^{2}+4An+4+Bn+2B=An^{2}+(4A+B)n+2B+4=An^{2}+B^{\prime}n+C^{\prime}, where B=4A+BB^{\prime}=4A+B and C=2B+4C^{\prime}=2B+4. We can repeat this process indefinitely, and clear away the CC^{\prime}’s at the end by repeating the step from g1(n)g_{1}(n) to g2(n)g_{2}(n). Note that we can also reverse this process to get an expression of the form A(n2)2+B(n2)A(n-2)^{2}+B(n-2), and so we can also arbitrarily lower the value of BB. Since we’re adding or subtracting multiples of 4A4A to BB, we can return to the form of g2(n)g_{2}(n) with a guarantee that 2AB<6A2A\leq B<6A.

g4(n)={nn evenAn2+Bnn oddg_{4}(n)=\begin{cases}n\quad&\text{n even}\\ An^{2}+Bn\quad&\text{n odd}\\ \end{cases}

Now let h(n)=An2+Bnh(n)=An^{2}+Bn. Define a new function f(n)=h(2n+1)f(n)=h(2n+1). Rewriting f(n)f(n) in terms of n+1n+1 gives f(n)=4A(n+1)2+(4A+2B)(n+1)+Df(n)=4A(n+1)^{2}+(-4A+2B)(n+1)+D, where DD is the constant term. We have already seen that the constant term is easily eliminated, so its exact value is irrelevant.

We now want to apply Lemma 4.2 to f(n)f(n). Since 2AB<6A2A\leq B<6A, the coefficient (4A+2B)(-4A+2B) of (n+1)(n+1) satisfies 04A+2B<8A0\leq-4A+2B<8A. Note that 8A8A is two times the coefficient of (n+1)2(n+1)^{2}, and therefore Lemma 4.2 can be applied unless 4A+2B=0-4A+2B=0. But that would be the case B=2AB=2A, and then g4(n)g_{4}(n) would be easily transducable to g5(n)g_{5}(n) by completing the square and dividing by 4A. So we can assume that B2AB\neq 2A.

Therefore f(n)f(n) can be transduced into (n+1)2(n+1)^{2} via a weight product with only one weight of length 2. Let’s call this weight 𝜶\bm{\alpha} = (α1,α2,β)(\alpha_{1},\alpha_{2},\beta) (The lemma tells us exactly what these are, but it’s not important). Now we can take the product of the modified weight 𝜶=(12,0),(α1,0,α2,β)\bm{\alpha^{*}}=\langle(\frac{1}{2},0),(\alpha_{1},0,\alpha_{2},\beta)\rangle with g4g_{4}. This weight allows us to ignore the alternating nature of g4g_{4} and only transduce the An2+BnAn^{2}+Bn piece. Since this part of the proof is very technical, we include some tables and diagrams to clarify the situation. First, a table clarifying exactly what g4(n)g_{4}(n) looks like.

n 0 1 2 3 4 5 6 7 8
g4(n)g_{4}(n) 0 h(1) = f(0) 2 h(3) = f(1) 4 h(5) = f(2) 6 h(7) = f(3) 8

Now we examine the weight product of 𝜶\bm{\alpha^{*}} with g4(n)g_{4}(n).

  1. \Tree(𝜶g4)(0)=12g4(0)+0=0(\bm{\alpha^{*}}\otimes g_{4})(0)=\frac{1}{2}g_{4}(0)+0=0×12\times\frac{1}{2}g4(0)g_{4}(0)\Tree(𝜶g4)(1)=α1g4(1)+0+α2g4(3)+β(\bm{\alpha^{*}}\otimes g_{4})(1)=\alpha_{1}g_{4}(1)+0+\alpha_{2}g_{4}(3)+\beta×α2\times\alpha_{2}g4(3)g_{4}(3)×0\times 0g4(2)g_{4}(2)×α1\times\alpha_{1}g4(1)g_{4}(1)
  1. \Tree(𝜶g4)(2)=12g4(4)+0=2(\bm{\alpha^{*}}\otimes g_{4})(2)=\frac{1}{2}g_{4}(4)+0=2×12\times\frac{1}{2}g4(4)g_{4}(4)\Tree(𝜶g4)(3)=α1g4(5)+0+α2g4(7)+β(\bm{\alpha^{*}}\otimes g_{4})(3)=\alpha_{1}g_{4}(5)+0+\alpha_{2}g_{4}(7)+\beta×α2\times\alpha_{2}g4(7)g_{4}(7)×0\times 0g4(6)g_{4}(6)×α1\times\alpha_{1}g4(5)g_{4}(5)

From the above diagram giving the first four values of 𝜶g4\bm{\alpha^{*}}\otimes g_{4}, it should be believable that the values on even nn are exactly nn, as was the case for g4g_{4} itself. The values for odd nn are a bit more complicated. The general pattern is that for odd nn, (𝜶g4)(n)=α1g4(2n1)+α2g4(2n+1)+β(\bm{\alpha^{*}}\otimes g_{4})(n)=\alpha_{1}g_{4}(2n-1)+\alpha_{2}g_{4}(2n+1)+\beta. However, by definition of the function h(n)h(n) from earlier, this is equivalent to (𝜶g4)(n)=α1h(2n1)+α2h(2n+1)+β(\bm{\alpha^{*}}\otimes g_{4})(n)=\alpha_{1}h(2n-1)+\alpha_{2}h(2n+1)+\beta. But if we redefine this in terms of f(n)f(n), we obtain (𝜶g4)(n)=α1f(n1)+α2f(n)+β(\bm{\alpha^{*}}\otimes g_{4})(n)=\alpha_{1}f(n-1)+\alpha_{2}f(n)+\beta.

Now the right hand side of this equation is in fact equal to (𝜶f)(n12)(\bm{\alpha}\otimes f)(\frac{n-1}{2}). But 𝜶\bm{\alpha} was chosen to be the weight such that (𝜶f)(n)=(n+1)2(\bm{\alpha}\otimes f)(n)=(n+1)^{2}. Therefore, for odd nn, (𝜶g4)(n)=(n12+1)2=(n+12)2(\bm{\alpha^{*}}\otimes g_{4})(n)=(\frac{n-1}{2}+1)^{2}=(\frac{n+1}{2})^{2}, and renaming (𝜶g4)(n)(\bm{\alpha^{*}}\otimes g_{4})(n) to g5(n)g_{5}(n) gives:

g5(n)={nn even(n+12)2n oddg_{5}(n)=\begin{cases}n\quad&\text{n even}\\ (\frac{n+1}{2})^{2}\quad&\text{n odd}\\ \end{cases}

Now we can add two blocks to shift g5g_{5} to the left by 2, then add 2 and divide by 2 on all even numbered blocks to preserve nn:

g6(n)={n2n even(n12)2n oddg_{6}(n)=\begin{cases}\frac{n}{2}\quad&\text{n even}\\ (\frac{n-1}{2})^{2}\quad&\text{n odd}\\ \end{cases}

which is exactly fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}). Since each gig_{i} was formed by transducing gi1g_{i-1}, we have that gfzip(n,n2)\langle g\rangle\geq\langle\mbox{{\sf fzip}}(n,n^{2})\rangle, and thus g=fzip(n,n2)\langle g\rangle=\langle\mbox{{\sf fzip}}(n,n^{2})\rangle.

Therefore there are no intermediate degrees between fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}) and nn.

Now we proceed to prove the same result for n2n^{2}.

Theorem 4.4.

The degree fzip(n,n2)\langle\mbox{{\sf fzip}}(n,n^{2})\rangle is strictly greater than n2\langle n^{2}\rangle, and there are no intermediate degrees.

Proof.

The proof will proceed in a similar manner to the previous theorem. Again the fact that fzip(n,n2)\langle\mbox{{\sf fzip}}(n,n^{2})\rangle is strictly greater than n2\langle n^{2}\rangle is trivial, since otherwise n2n^{2} could be transduced into nn. So we only need to prove that there are no intermediate degrees.

Letting gg be a potential intermediate degree, we have the same three cases as before:

Case 1: gg has only quadratic polynomials as its pieces.

Case 2: gg has only linear polynomials as its pieces.

Case 3: gg has both linear and quadratic polynomials as its pieces.

Case 2 is not possible because we showed in the previous theorem that such a gg would be the same degree as nn. For Case 3, the previous theorem proved that g\langle g\rangle would be equal to fzip(n,n2)\langle\mbox{{\sf fzip}}(n,n^{2})\rangle. So we need to turn our attention to Case 1. For this case, we will prove that gg is the same degree as n2n^{2}, and this will complete the proof.

If gg has only quadratic polynomials as its pieces, it has the form:

g(n)={a1n2+b1n+c1 0modNa2n2+b2n+c2 1modNaNn2+bNn+cN N-1modNg(n)=\begin{cases}a_{1}n^{2}+b_{1}n+c_{1}\quad&\text{n $\equiv$ 0modN}\\ a_{2}n^{2}+b_{2}n+c_{2}\quad&\text{n $\equiv$ 1modN}\\ \vdots\\ a_{N}n^{2}+b_{N}n+c_{N}\quad&\text{n $\equiv$ N-1modN}\\ \end{cases}

We can remove all of the constant terms:

g(n)={a1n2+b1n 0modNa2n2+b2n 1modNaNn2+bNn N-1modNg(n)=\begin{cases}a_{1}n^{2}+b_{1}n\quad&\text{n $\equiv$ 0modN}\\ a_{2}n^{2}+b_{2}n\quad&\text{n $\equiv$ 1modN}\\ \vdots\\ a_{N}n^{2}+b_{N}n\quad&\text{n $\equiv$ N-1modN}\\ \end{cases}

Now using the result of Lemma 4.1, let 𝜶=(α1,α2,,αN)\bm{\alpha}=(\alpha_{1},\alpha_{2},\cdots,\alpha_{N}) where αi=14aibi+aibiai,biaibiai,(2bibiai+biaibiai2)\alpha_{i}=\frac{1}{4}\langle a_{i}-b_{i}+a_{i}\lfloor\frac{b_{i}}{a_{i}}\rfloor,b_{i}-a_{i}\lfloor\frac{b_{i}}{a_{i}}\rfloor,-(2b_{i}\lfloor\frac{b_{i}}{a_{i}}\rfloor+b_{i}-a_{i}\lfloor\frac{b_{i}}{a_{i}}\rfloor^{2})\rangle. If we take the product of this weight with n2n^{2}, then we obtain gg. To see that this is the case, we will do another example weight product calculation, for the case N=2N=2, and use a similar diagram as the previous theorem to illustrate our point.

Let the weight 𝜶=(α1,α2)\bm{\alpha}=(\alpha_{1},\alpha_{2}), where α1=(r1,r2,s)\alpha_{1}=(r_{1},r_{2},s) and α2=(u1,u2,v)\alpha_{2}=(u_{1},u_{2},v). The exact values of these are as above. The key point is that α1,α2\alpha_{1},\alpha_{2} satisfy the equations (α1f)(n)=a1n2+b1n(\alpha_{1}\otimes f)(n)=a_{1}n^{2}+b_{1}n and (α2f)(n)=a2n2+b2n(\alpha_{2}\otimes f)(n)=a_{2}n^{2}+b_{2}n, where f(n)=n2f(n)=n^{2}. Now if we calculate the first four values of 𝜶n2\bm{\alpha}\otimes n^{2}, we get the following:

  1. \Tree(𝜶f)(0)=r1f(0)+r2f(1)+s(\bm{\alpha}\otimes f)(0)=r_{1}f(0)+r_{2}f(1)+s×r2\times r_{2}f(1)f(1)×r1\times r_{1}f(0)f(0)\Tree(𝜶f)(1)=u1f(2)+u2f(3)+v(\bm{\alpha}\otimes f)(1)=u_{1}f(2)+u_{2}f(3)+v×u2\times u_{2}f(3)f(3)×u1\times u_{1}f(2)f(2)
  1. \Tree(𝜶f)(2)=r1f(4)+r2f(5)+s(\bm{\alpha}\otimes f)(2)=r_{1}f(4)+r_{2}f(5)+s×r2\times r_{2}f(5)f(5)×r1\times r_{1}f(4)f(4)\Tree(𝜶f)(3)=u1f(6)+u2f(7)+v(\bm{\alpha}\otimes f)(3)=u_{1}f(6)+u_{2}f(7)+v×u2\times u_{2}f(7)f(7)×u1\times u_{1}f(6)f(6)

Looking at this example, we can now see that in fact, (𝜶f)(n)=(α1f)(n)(\bm{\alpha}\otimes f)(n)=(\alpha_{1}\otimes f)(n) for even nn and (𝜶f)(n)=(α2f)(n)(\bm{\alpha}\otimes f)(n)=(\alpha_{2}\otimes f)(n) for odd nn. But because of the way that α1\alpha_{1} and α2\alpha_{2} were defined, this means that (𝜶f)(n)=a1n2+b1n(\bm{\alpha}\otimes f)(n)=a_{1}n^{2}+b_{1}n for even nn and (𝜶f)(n)=a2n2+b2n(\bm{\alpha}\otimes f)(n)=a_{2}n^{2}+b_{2}n for odd nn, which is exactly the definition of gg in the case N=2N=2. So 𝜶n2=g\bm{\alpha}\otimes n^{2}=g. The general case proceeds effectively the same way. The key property of the weight tuple 𝜶\bm{\alpha} for this proof is that all of the weights in the tuple are the same length, which allows n2n^{2} to be turned into a piecewise polynomial like gg with each weight corresponding exactly to one piece. The N=2N=2 case could also be thought of in terms of Lemma 3.6, with the general case being provable via an extension of that lemma.

Therefore n2g\langle n^{2}\rangle\geq\langle g\rangle. But gg was a degree between fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}) and n2n^{2}, and therefore n2=g\langle n^{2}\rangle=\langle g\rangle. Since this was the last case for gg, there are no intermediate degrees between fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}) and n2n^{2}.

5 Conclusion

We have shown that fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}) lies strictly above both nn and n2n^{2}, with no intermediate degrees between them. From earlier results, we know that the degrees of both nn and n2n^{2} are atoms, that is, there is nothing between them and the bottom degree 0. Therefore fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}) forms a diamond structure with n,n2n,n^{2} and 0, and this is the first such structure that has been found. We also note that by the case analysis for potential transducts of fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}) in the previous section, nn and n2n^{2} are the only degrees below fzip(n,n2)\mbox{{\sf fzip}}(n,n^{2}). This result sheds more light on the structure of the transducer hierarchy, and also raises some further questions about the potential use of fzip to find new results. We state a few of these questions here:

  1. 1.

    We know that fzip(f,f)f\langle\mbox{{\sf fzip}}(f,f)\rangle\geq\langle f\rangle. In general, is this inequality strict, or can fzip(f,f)=f\langle\mbox{{\sf fzip}}(f,f)\rangle=\langle f\rangle for more than just linear or quadratic ff’s?

  2. 2.

    What can we say about fzip(f,g)\langle\mbox{{\sf fzip}}(f,g)\rangle when f,gf,g are both cubic polynomials?

  3. 3.

    For some f,gf,g is it possible to find degrees between ff and fzip(f,g)\mbox{{\sf fzip}}(f,g)?

  4. 4.

    If the degrees of f1,g1f_{1},g_{1} are above the degrees of f2,g2f_{2},g_{2} respectively, then is fzip(f1,g1)fzip(f2,g2)\langle\mbox{{\sf fzip}}(f_{1},g_{1})\rangle\geq\langle\mbox{{\sf fzip}}(f_{2},g_{2})\rangle?

References

  • [1] Jörg Endrullis, Dimitri Hendriks and Jan Willem Klop “Degrees of Streams” Proceedings of the Leiden Numeration Conference 2010 In Journal of Integers 11B.A6, 2011, pp. 1–40
  • [2] Jörg Endrullis, Clemens Grabmayer, Dimitri Hendriks and Hans Zantema “The Degree of Squares is an Atom” In Proc. Conf. on Combinatorics on Words (WORDS 2015) 9304, LNCS Springer, 2015, pp. 109–121 DOI: 10.1007/978-3-319-23660-5“˙10
  • [3] Jörg Endrullis, Juhani Karhumäki, Jan Willem Klop and Aleksi Saarela “Degrees of Infinite Words, Polynomials and Atoms” In Proc. Conf. on Developments in Language Theory (DLT 2016) 9840, LNCS Springer, 2016, pp. 164–176 DOI: 10.1007/978-3-662-53132-7“˙14
  • [4] Jörg Endrullis, Juhani Karhumäki, Jan Willem Klop and Aleksi Saarela “Degrees of Infinite Words, Polynomials and Atoms” In International Journal of Foundations of Computer Science 29.5, 2018, pp. 825–843 DOI: 10.1142/S0129054118420066
  • [5] Jörg Endrullis, Jan Willem Klop and Rena Bakhshi “Transducer Degrees: Atoms, Infima and Suprema” In Acta Informatica 57.3-5, 2020, pp. 727–758 DOI: 10.1007/s00236-019-00353-7