User blog:Kyodaisuu/Pair sequence system

A program which is supposed to calculate \(f_{\vartheta(\Omega_\omega)+1}(10)\) was posted at googology thread of Japanese BBS 2ch.net (anonymous author). It is extention of a program written by the same author. The algorithm is called pair sequence system and the output of this program is called pair sequence number.

Pair sequence is a finite sequence of pair of integers, such as (0,0)(1,1)(2,2)(3,3)(3,2). Pair sequence P works as a function from natural numbers to natural numbers, and it can be denoted as P[n], such as (0,0)(1,1)(2,2)(3,3)(3,2)[n]. The function P[n] can be approximated with Hardy hierarchy, and the pair sequence itself represents the ordinal of the approximated Hardy hierarchy, such as \((0,0)(1,1)(2,2)(3,3)(3,2) = \psi(\psi_1(\Omega_2))\).

BASIC Code
dim A(Infinity):dim B(Infinity):C=9 for D=0 to 9 for E=0 to C   A(E)=E:B(E)=E next for F=C to 0 step -1 C=C*C if B(F)=0 then G=1 else G=0 for H=0 to F*G if A(F-H)<A(F) or A(F)=0 then I=H:H=F*G next for J=1 to C*G*I A(F)=A(F-I):B(F)=B(F-I):F=F+1 next G=1-G for K=1 to F*G if A(F-K)<A(F) and B(F-K)<B(F) then L=A(F)-A(F-K):M=K:K=F*G next for N=1 to C*G*M A(F)=A(F-M)+L:B(F)=B(F-M):F=F+1 next next next print C

Verification code in C is shown at the end of this entry.

Calculation up to \(\epsilon_1\)
This program uses two arrays A and B which store pair sequence as follows. \[(A(0),B(0))(A(1),B(0))(A(2),B(2))...(A(F),B(F)) = \alpha\] where \(\alpha\) is the corresponding ordinal.

In the F loop, first B(F) is checked if B(F)=0 then G=1 else G=0

and when B(F)=0, only the first part is conducted. Substituting G=1,

for H=0 to F     if A(F-H)0, only the latter part is conducted with G=1. Substituting G=1,

for K=1 to F     if A(F-K)<A(F) and B(F-K)<B(F) then L=A(F)-A(F-K):M=K:K=F next for N=1 to C*M A(F)=A(F-M)+L:B(F)=B(F-M):F=F+1 next

See how it works for (0,0)(1,1) and C=3. F=1 and at K loop, it looks for A(F-K)<A(F) and B(F-K)<B(F); it is at K=1. Therefore L=A(1)-A(0)=1, M=1. At N loop, C*M=3*1=3 pairs of (0,0) are copied, but in this copy, A is increased with L=1, so that it becomes (1,0)(2,0)(3,0). As a result, it becomes \((0,0)(1,0)(2,0)(3,0) = \omega^{\omega^\omega}\). Therefore,

\[(0,0)(1,1) = \epsilon_0\]

(n,0)(n+1,1) works in the same way and therefore

\begin{eqnarray*} (0,0)(1,1)(1,0)(2,1) &=& \epsilon_0^2 \\ (0,0)(1,1)(1,0)(2,1)(2,0)(3,1) &=& \epsilon_0^{\epsilon_0} \\ (0,0)(1,1)(1,0)(2,1)(2,0)(3,1)(3,0)(4,1) &=& \epsilon_0^{\epsilon_0^2} \\ (0,0)(1,1)(1,0)(2,1)(2,0)(3,1)(3,0)(4,1)(4,0)(5,1) &=& \epsilon_0^{\epsilon_0^{\epsilon_0}} \\ \end{eqnarray*}

See how it works for (0,0)(1,1)(1,1) and C=3. F=1 and at K loop, it looks for A(F-K)<A(F) and B(F-K)<B(F); it is at K=2. Therefore L=A(2)-A(0)=1, M=2. At N loop, C*M=3*2=6 pairs of (0,0)(1,1) are copied, but in this copy, A is increased with L=1, so that it becomes (1,0)(2,1)(2,0)(3,1)(3,0)(3,1). As a result, it becomes \((0,0)(1,1)(1,0)(2,1)(2,0)(3,1)(3,0)(4,1) = \epsilon_0^{\epsilon_0^2}\). Therefore,

\[(0,0)(1,1)(1,1) = \epsilon_1\]

Calculation up to Bachman-Howard ordinal
From here, \(\psi\) is used as shown here.

\begin{eqnarray*} \epsilon_0 &=& \psi(0) \\ \epsilon_n &=& \psi(n) \\ \zeta_0 &=& \phi_2(0) = \psi(\Omega) \\ \phi_2(n) &=& \psi(\Omega \cdot n) \\ \phi_3(0) &=& \psi(\Omega^2) \\ \phi_\omega(0) &=& \psi(\Omega^\omega) \\ \Gamma_0 &=& \psi(\Omega^\Omega) \\ \psi(\epsilon_{\Omega+1}) &=& \psi(\psi_1(0)) \\ \psi(\zeta_{\Omega+1}) &=& \psi(\psi_1(\Omega_2)) = \psi(\Omega_2) \\ \end{eqnarray*}

The author of the program demonstrated calculation of \((0,0)(1,1)(2,2) = \psi(\psi_1(0))\) (Bachman-Howard ordinal) with constant C=1, using this simplified program.

dim A(Infinity):dim B(Infinity):C=1 for E=0 to 2 A(E)=E:B(E)=E next for F=2 to 0 step -1 if B(F)=0 then G=1 else G=0 for H=0 to F*G if A(F-H)<A(F) or A(F)=0 then I=H:H=F*G next for J=1 to C*G*I A(F)=A(F-I):B(F)=B(F-I):F=F+1 next G=1-G for K=1 to F*G if A(F-K)<A(F) and B(F-K)<B(F) then L=A(F)-A(F-K):M=K:K=F*G next for N=1 to C*G*M A(F)=A(F-M)+L:B(F)=B(F-M):F=F+1 next next print C

According to the author of the program, at each loop, the sequence of the pairs changes and the corresponding ordinal decreases as follows. It appears to be reasonable, but I am not yet confident with the calculation. I would like to know if googologists here think this calculation is valid.

\begin{eqnarray*} (0,0)(1,1)(2,2) &=& \psi(\psi_1(0)) \\ (0,0)(1,1)(2,1) &=& \psi(\Omega) \\ (0,0)(1,1)(2,0)(3,1) &=& \psi(\psi(0)) \\ (0,0)(1,1)(2,0)(3,0) &=& \psi(\omega^\omega) \\ (0,0)(1,1)(2,0)(2,0) &=& \psi(\omega^2) \\ (0,0)(1,1)(2,0)(1,1)(2,0) &=& \psi(\omega \cdot 2) \\ (0,0)(1,1)(2,0)(1,1)(1,1) &=& \psi(\omega+2) \\ (0,0)(1,1)(2,0)(1,1)(1,0)(2,1)(3,0)(2,1) &=& \psi(\omega+1) \cdot \psi(\omega+1) \\ (0,0)(1,1)(2,0)(1,1)(1,0)(2,1)(3,0)(2,0)(3,1)(4,0) &=& \psi(\omega+1) \cdot \psi(\omega) \cdot \psi(\omega) \\ (0,0)(1,1)(2,0)(1,1)(1,0)(2,1)(3,0)(2,0)(3,1)(3,1) &=& \psi(\omega+1) \cdot \psi(\omega) \cdot \psi(1) \\ (0,0)(1,1)(2,0)(1,1)(1,0)(2,1)(3,0)(2,0)(3,1)(3,0)(4,1) &=& \psi(\omega+1) \cdot \psi(\omega) \cdot \psi(0) \cdot \psi(0) \\ (0,0)(1,1)(2,0)(1,1)(1,0)(2,1)(3,0)(2,0)(3,1)(3,0)(4,0) &=& \psi(\omega+1) \cdot \psi(\omega) \cdot \psi(0) \cdot \omega^\omega \\ (0,0)(1,1)(2,0)(1,1)(1,0)(2,1)(3,0)(2,0)(3,1)(3,0)(3,0) &=& \psi(\omega+1) \cdot \psi(\omega) \cdot \psi(0) \cdot \omega^2 \\ (0,0)(1,1)(2,0)(1,1)(1,0)(2,1)(3,0)(2,0)(3,1)(3,0)(2,0)(3,1)(3,0) &=& \psi(\omega+1) \cdot \psi(\omega) \cdot \psi(0) \cdot \omega \cdot 2 \\ (0,0)(1,1)(2,0)(1,1)(1,0)(2,1)(3,0)(2,0)(3,1)(3,0)(2,0)(3,1)(2,0)(3,1) &=& \psi(\omega+1) \cdot \psi(\omega) \cdot (\psi(0) \cdot \omega+\psi(0) \cdot 2) \\ \end{eqnarray*}

Calculation with the simplified program which was changed to C=2 was written by the author as follows. The sequence and the corresponding ordinal decrease with each loop of F as follows. This result is also shown at the verification code section.

\begin{eqnarray*} (0,0)(1,1)(2,2) &=& \psi(\psi_1(0)) \\ (0,0)(1,1)(2,1)(3,1) &=& \psi(\Omega^\Omega) \\ (0,0)(1,1)(2,1)(3,0)(4,1)(5,1)(6,0)(7,1)(8,1) &=& \psi(\omega^{\psi(\omega^{\psi(\omega)})}) \\ (0,0)(1,1)(2,1)(3,0)(4,1)(5,1)(6,0)(7,1)(8,0)(9,1)(10,0)(11,1) &=& \psi(\Omega^{\psi(\Omega^{\psi(\psi(\psi(0)))})}) \\ \text{Denoting } (0,0)(1,1)(2,1)(3,0)(4,1)(5,1)(6,0)(7,1)(8,0)(9,1) &=& X \\ X(10,0)(11,0)(12,0) &=& \psi(\Omega^{\psi(\Omega^{\psi(\psi(\omega^{\omega^\omega}))})}) \\ X(10,0)(11,0)(11,0)(11,0) &=& \psi(\Omega^{\psi(\Omega^{\psi(\psi(\omega^{\omega^3}))})}) \\ X(10,0)(11,0)(11,0)(10,0)(11,0)(11,0)(10,0)(11,0)(11,0) &=& \psi(\Omega^{\psi(\Omega^{\psi(\psi(\omega^{\omega^2 \cdot 3}))})}) \\ X(10,0)(11,0)(11,0)(10,0)(11,0)(11,0)(10,0)(11,0)(10,0)(11,0)(10,0)(11,0) &=& \psi(\Omega^{\psi(\Omega^{\psi(\psi(\omega^{\omega^2 \cdot 3+\omega \cdot 3}))})}) \\ X(10,0)(11,0)(11,0)(10,0)(11,0)(11,0)(10,0)(11,0)(10,0)(11,0)(10,0)(10,0)(10,0) &=& \psi(\Omega^{\psi(\Omega^{\psi(\psi(\omega^{\omega^2 \cdot 3+\omega \cdot 2+3}))})}) \\ \end{eqnarray*}

Calculation beyond Bachman-Howard ordinal
The author wrote following result.

\begin{eqnarray*} (0,0)(1,1)(2,2)(0,0) &=& \psi(\psi_1(0))+1 \\ (0,0)(1,1)(2,2)(1,0) &=& \psi(\psi_1(0)) \omega \\ (0,0)(1,1)(2,2)(2,0) &=& \psi(\psi_1(0) \omega) \\ (0,0)(1,1)(2,2)(3,0) &=& \psi(\psi_1(\omega)) \\ (0,0)(1,1)(2,2)(3,0)(4,0) &=& \psi(\psi_1(\omega^\omega)) \\ (0,0)(1,1)(2,2)(3,0)(4,1) &=& \psi(\psi_1(\psi(0)))=\psi(\psi_1(\epsilon_0)) \\ (0,0)(1,1)(2,2)(3,1) &=& \psi(\psi_1(\Omega)) \\ (0,0)(1,1)(2,2)(3,2) &=& \psi(\psi_1(\Omega_2)) \\ (0,0)(1,1)(2,2)(3,3) &=& \psi(\psi_1(\psi_2(0))) \\ (0,0)(1,1)(2,2)(3,3)(4,4) &=& \psi(\psi_1(\psi_2(\psi_3(0)))) \\ (0,0)(1,1)(2,2)(3,3)...(9,9) &=& \psi(\psi_1(\psi_2(\psi_3(\psi_4(\psi_5(\psi_6(\psi_7(\psi_8(0))))))))) \\ \end{eqnarray*}

Therefore, in the loop of "for D=0 to 9" to "next", \(C=f_{\vartheta(\Omega_\omega)}(C)\) is calculated. Repetition of this loop 10 times results in \(f_{\vartheta(\Omega_\omega)+1}(10)\).

Verification code of C
Verification of C shows calculation process. It is modified from original algorithm as follows.


 * D loop eliminated
 * C is set as constant 2 and does not change
 * Calculation stops when the length of the sequence exceeds maxlength

The result is as follows.
 * (0,0)(1,1)
 * (0,0)(1,1)(2,2)
 * (0,0)(1,1)(2,2)(3,3)
 * (0,0)(1,1)(2,2)(3,3)(4,4)