Bashicu matrix system

Bashicu matrix system is an algorithm which produces large numbers. It was invented by Bashicu in 2014. By approximating with FGH, 1-row matrix (primitive sequence system) is \(\varepsilon_0\) level and 2-row matrix (pair sequence system) is \(\vartheta(\Omega_\omega)\) level. 3-row matrix $$\begin{pmatrix} 0 & 1 & 2 & 3 \\ 0 & 1 & 2 & 2 \\ 0 & 1 & 1 & 1 \end{pmatrix}$$ is \(\psi(\psi_{I_\omega}(0))\) level. FGH ordinal corresponding to n-row matrix $$\begin{pmatrix} 0 & 1 \\ 0 & 1 \\ : & : \\ 0 & 1 \end{pmatrix}$$ is not known. It is possibly weaker than loader's function.

Notation
Bashicu matrix is a matrix such as
 * $$\begin{pmatrix}

a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23} \end{pmatrix}$$ where all elements are nonnegative integers. The matrix can be written in the form of sequence of transpose of each column (sequence expression of Bashicu matrix);

\((a_{11},a_{21})(a_{12},a_{22})(a_{13},a_{23})\)

Bashicu matrix \(BM\) works as a function from a natural number \(n\) to a natural number \(BM[n]\), and written as \((0,0)(1,1)(2,2)(3,3)(3,2)[n]\). When the function is approximated with Hardy hierarchy of ordinal \(\alpha\), the matrix \(BM\) represents \(\alpha\). Therefore
 * $$\begin{pmatrix}

0 & 1 & 2 & 3 & 3\\ 0 & 1 & 2 & 3 & 2 \end{pmatrix} = (0,0)(1,1)(2,2)(3,3)(3,2) = \psi(\psi_1(\Omega_2))$$

Definition in programming language
Bashicu defined the system with BASIC program language. The program by Bashicu was not intended to actually run, and therefore Fish wrote a program for demonstration of calculation process. The demonstration program was verified by Bashicu. Therefore, official definition of Bashicu matrix is in the source code of the demonstration program, Bashicu matrix calculator. Bashicu matrix calculator also has a web interface. Please note that the program has 4 options of "n increment". The original definition of Bashicu matrix is the option of "n=n * n", and other options are variant. By using the option of "Simulate Hardy function", the calculation exactly matches Hardy function of Weiner hierarchy for ordinals below \(\epsilon_0\).

Terminology
For \(A = (a_0,a_1,...,a_m), B = (b_0,b_1,...,b_m), D=\{ 0,1,...,m \}\)
 * The length of a sequence is the number of pairs of brackets.
 * A sequence which has the length of 1 (or have one pair of brackets) is called the element of the sequence.
 * \(S\) is a sequence.
 * \(Z\) is \((0,0,...,0)\), which has one or more zeros.
 * \(f(n) = n^2\). (You can change this rule, but that will be considered as a variant)
 * \(A+B\) is connection of sequence. For example, \((0,0)(1,1)+(2,2)(3,3)=(0,0)(1,1)(2,2)(3,3)\)
 * How to compare elements:

\[A < B \Leftrightarrow \forall i \in D ((a_iB\), so you can define only "smaller" or not. Even if \(A\) in smaller than \(B\), \(B\) is not always "bigger" than \(A\).

Simpler words: Compare \(A\) and \(B\) from the left to the right until you find a zero in \(B\). If numbers from \(B\) is always bigger, \(A<B\). If not, \(A\) is not smaller than \(B\). (If you find zero in \(B\) at the first number, \(A\) is smaller.)

Calculation rules
Rule 1. \([n]=n\)

Rule 2. \(S Z[n]=S[f(n)]\)

Rule 3. If neither Rule 1 or 2 is applicable, start from Rule 3-1.

Rule 3-1. Define the i-th element from the left in \(S\) as \(S_i\) and the length of the sequence as \(n\). Therefore, \(S=S_1S_2\cdots S_n\). The last element \(S_n\) is not equal to \(Z\) because Rule 2 is applicable if \(S_n = Z\).
 * If there is no element that is smaller than \(S_n\), change \(S_n\) into \(Z\); \(S = S_0 S_1 \ldots S_{n-1} Z\) (and calculate it with Rule 2).
 * If there is at least one element that is smaller than \(S_n\), let's call the rightmost one \(S_i\). We define the good part of the sequence to be \(G = S_0 \ldots S_{i-1}\), the bad part of the sequence to be \(B = S_i \ldots S_{n-1}\), and \(N = S_n\). (Now, \(S\) is \(G\) and \(B\) and \(N\) combined.) Continue to Rules 3-2 through 3-4. Please note that the definition of "good part" and "bad part" resembles Beklemishev's worms but they are different.

Rule 3-2. From \(L = (L_0, L_1, \ldots ,L_m)\) and \(N = (N_0,N_1, \ldots ,N_m)\),  \(\Delta=(\Delta_1,\Delta_2,\cdots\Delta_m)\) (difference) is calculated as


 * \(\Delta_i=0\) if there is 0 in \(N_0\) to \(N_{i+1}\) (suppose \(N_{m+1}=0\))
 * \(\Delta_i=N_i-L_i\) otherwise

As \(L < N\) from rule 3-1, \(\Delta_i \ge 0\).

Rule 3-3: \(B(i)\) is defined as follows.


 * \(B(0) = B\)
 * \(B(i+1)\) is "\(B(i) add N\); here "add" means addition of each value (not concatination). For example, when B(0) = (1,1,1)(2,2,2)(3,3,3) and N = (3,1,0), B(1) = (4,2,1)(5,3,2)(6,4,3), B(2) = (7,3,1)(8,4,2)(9,5,3)

Rule 3-4: \(S[n] = \{ G + B(0) + B(1) + \ldots\ + B(f(n))\}[f(n)] \)

Example
(0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,2,0)[2] is calculated as follows.

Therefore (0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,2,0)[2] = (0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,1,1)(5,2,2)(6,3,3)(7,1,1)(8,2,2)(9,3,3)(10,1,1)(11,2,2)(12,3,3)(13,1,1)(14,2,2)(15,3,3)[4] By writing in matrix form, \[\begin{pmatrix} 0 & 1 & 2 & 3 & 4\\ 0 & 1 & 2 & 3 & 2\\ 0 & 1 & 2 & 3 & 0\\ \end{pmatrix}[2] = \begin{pmatrix} 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15\\ 0 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 \\ 0 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 \\ \end{pmatrix}[4]\]
 * From Rule 3-1: In the sequence S = (0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,2,0), we look for the rightmost element that is smaller than \(S_4 = (4,2,0)\). It is \(S_1 = (1,1,1)\). Therefore G = (0,0,0), B = (1,1,1)(2,2,2)(3,3,3), N = (4,2,0)
 * From Rule 3-2: As L = (1,1,1) and N = (4,2,0), \(\Delta = (3,0,0)\)
 * From Rule 3-3: B(0) = (1,1,1)(2,2,2)(3,3,3), B(1) = (4,1,1)(5,2,2)(6,3,3), B(2) = (7,1,1)(8,2,2)(9,3,3), B(3) = (10,1,1)(11,2,2)(12,3,3), B(4) = (13,1,1)(14,2,2)(15,3,3)
 * From rule 3-4: S [2] = {G + B(0) + B(1) + B(2) + B(3) + B(4)} [4]

This calculation matches calculation result of Bashicu matrix calculator.

Analysis
The first question is if the calculation stops. It was not answered until an anonymous googologist posted a proof that calculation always stops in Japanese BBS 2ch.net in 2016.

The growth rate of 1-row matrix (primitive sequence system) is \(f_{\varepsilon_0}(n)\) and the growth rate of 2-row matrix (pair sequence system) is \(f_{\vartheta(\Omega_\omega)}(n)\).

Complete analysis of the growth rate of 3-row matrix (trio sequence system) with FGH is difficult because the system is too strong. It has been analysed to some extent. Here are some examples.

\begin{array}{ll} (0,0,0)(1,1,1)(2,2,1)(3,2,0) &=& ψ_0(ψ_I(0)) \\ (0,0,0)(1,1,1)(2,2,1)(3,2,1) &=& ψ(ψ_{I_ω}(0)) \\ (0,0,0)(1,1,1)(2,2,1)(3,3,1)(2,2,1)(3,3,1) &=& \text{"Limit of Taranovsky's C"} \end{array}

n-row Bashicu matrix is considered to have the strength of a special type of (n-th order "kind"). As Bashicu matrix is defined with a program, which can be translated into Turing machine, it is clear that it is weaker than busy beaver function. It is speculated that the system is weaker than, meaning that loader.c is stronger than Bashicu matrix.