User blog:P進大好きbot/New Difference Sequence System

Here is a new difference sequence system, which I came up with today through a greedy trial to imitate Y-sequence system originally created by a Japanese googologist Yukito. Although it expands in a different way from Y-sequence system, it looks not so bad.

= Definition =

I denote by \(\mathbb{N}_+\) the set of positive integers. For a set \(X\), I denote by \(X^{< \omega}\) the set of arrays of elements of \(X\). I denote by \(S \subset \mathbb{N}_+^{< \omega}\) the subset of non-empty sequences whose leftmost entry is \(1\). We denote by \(\leq_S\) the lexicographic order on \(S\).

An initial segment of an array \((a_i)_{i=0}^{N-1}\) of length \(N \in \mathbb{N}\) is an array of the form \((a_i)_{i=0}^{j-1)\) for some \(j \in \mathbb{N}\) smaller than \(N-1\). In particular, the empty array is an initial segment of any array.

For arrays \(a\) and \(b\), I denote by \(a \frown b\) the concatenation of \(a\) and \(b\).

Difference Sequence
I denote by \begin{eqnarray*} \textrm{Parent} \colon \mathbb{N}^{< \omega} \times \mathbb{N} \to \mathbb{N} \end{eqnarray*} the partial computable map introduced here. Roughly speaking, \(\textrm{Parent}\) is the function which outputs the index of the parent of the index in the input. Since \(\textrm{Parent}\) forms a bad root searching rule in the sense of the terminology introduced here, it induces the total computable maps \begin{eqnarray*} \textrm{Ancestor} \colon \mathbb{N}^{< \omega} & \to & \mathbb{N}^{< \omega} \\ \textrm{RightNodes} \colon \mathbb{N}^{< \omega} & \to & \mathbb{N}^{< \omega} \\ \textrm{Kaiser} \colon \mathbb{N}^{< \omega} \setminus \{\} & \to & \mathbb{N}^{< \omega} \end{eqnarray*} introduced in the same article. Roughly speaking, \(\textrm{Ancestor}\) is the function which outputs the sequence of indices of ancestors of the rightmost entry pf the input, \(\textrm{RightNodes}\) of the function which outputs the sequence of entries of ancestors of the rightmost entry of the input, \(\textrm{Kaiser}\) is the function which outputs the difference sequence of the value of \(\textrm{RightNodes}\).

I define a total computable map \begin{eqnarray*} \textrm{Royal} \colon S & \to & S \\ a & \mapsto & \textrm{Royal}(a) \end{eqnarray*} in the following recursive way: This map imitate the bad root searching rule in Y-sequence system, but I intensionally use only the first difference sequences.
 * 1) If \(\textrm{Kaiser}(a) = \), then set \(\textrm{Royal}(a) := (1)\).
 * 2) If \(\textrm{Kaiser}(a) \neq \) and the leftmost entry of \(\textrm{Kaiser}(a)\) is \(1\), then set \(\textrm{Royal}(a) := \textrm{Kaiser}(a)\).
 * 3) Suppose that \(\textrm{Kaiser}(a) \neq \) and the leftmost entry of \(\textrm{Kaiser}(a)\) is not \(1\).
 * 4) Denote by \(i\) the leftmost entry of \(\textrm{Ancestor}(a)\).
 * 5) Denote by \(b\) the initial segment of \(a\) of length \(i+1\).
 * 6) Set \(\textrm{Royal}(a) := b \frown \textrm{Kaiser}(a)\).

Constructibility
I define a total computable map \begin{eqnarray*} \textrm{IsConstructibleBelow} \colon S^{< \omega} \times S & \to & \{0,1\} \\ (A,a) & \mapsto & \textrm{IsConstructibleBelow}(A,a) \begin{eqnarray*} in the following recursive way: Namely, \(\textrm{IsConstructibleBelow}\) is a function which tells us whether every entry of \(A\) is constructible below \(a\) in some sense.
 * 1) If there is an entry \(b\) of \(A\) such that \(a \leq_S b\), then set \(\textrm{IsConstructibleBelow}(a,A) := 0\).
 * 2) If there is no entry \(b\) of \(A\) such that \(a \leq_S b\) and every entry of \(A\) is \((1)\), then set \(\textrm{IsConstructibleBelow}(a,A) := 1\).
 * 3) Suppose that there is no entry \(b\) of \(A\) such that \(a \leq_S b\) and some entry of \(A\) is not \((1)\).
 * 4) Denote by \(B_0\) by the array given by enumerating by \(\leq_S\) the finite set of sequences of the form \(\textrm{Royal}(b)\) for some entry \(b\) of \(A\).
 * 5) Denote by \(B_1\) by the array given by enumerating by \(\leq_S\) the finite set of sequences given as non-empty initial segments of some entry \(b\) of \(B_0\).
 * 6) Set \(\textrm{IsConstructibleBelow}(A,a) := \textrm{IsConstructibleBelow}(B_1,a)\).

Expansion
I define a total computable map \begin{eqnarray*} [ \ ] \colon S \times \mathbb{N} & \to & S \\ (a,n) & \mapsto & a[n] \begin{eqnarray*} in the following recursive way: Namely, it expands as strong as possible following the restriction on the constructibility.
 * 1) If \(a = (1)\), then set \(a[n] := (1)\).
 * 2) If \(a \neq (1)\) and the rightmost entry of \(a\) is \(1\), then \(a[n]\) is the sequence given by removing the rightmost entry from \(a\).
 * 3) Suppose \(a \neq (1)\) and the rightmost entry of \(a\) is not \(1\).
 * 4) If \(n = 0\), then \(a[n]\) is the sequence given by decrementing the rightmost entry of \(a\).
 * 5) Suppose \(n \neq 0\).
 * 6) Denote by \(M\) the maximum of an \(i \in \mathbb{N}_{+}\) satisfying \(\textrm{IsConstructibleBelow}((a[n-1] \frown (i)),a) = 1\).
 * 7) Set \(a[n] := a[n-1] \frown (M)\).

Large Function
I define a partial computable map \begin{eqnarray*} \langle \cdot, \cdot \rangle \colon S^{< \omega} \times \mathbb{N} & \to & \mathbb{N} \\ (A,n) & \mapsto & \langle A, n \rangle \begin{eqnarray*} in the following recursive way: This is just a computable variant of FGH. Although I do not know whether it is total or not, \(\langle ((1,10)), 10 \rangle\) will be a computable large number if it actually terminates.
 * 1) If \(A = \), then set \(\langle A, n \rangle := n\).
 * 2) Suppose \(A = (a)\) for some \(a \in S\).
 * 3) If \(a = (1)\), then set \(\langle A, n \rangle := n+1\).
 * 4) If \(a \neq (1)\), then set \(\langle A, n \rangle := \langle ((\underbrace{a[n+1],\ldots,a[n+1]}_{n+1}), n+1 \rangle\).
 * 5) Suppose that the length of \(A\) is greater than \(1\).
 * 6) Denote by \(B\) the array given by removing the rightmost entry from \(A\).
 * 7) Denote by \(a\) the rightmost entry of\(A\).
 * 8) Set \(\langle A, n \rangle := \langle B, \langle (a), n \rangle \rangle\).