Bashicu matrix system

Bashicu matrix system is a notation designed to produce large numbers. It was invented by Bashicu in 2014. By approximating with FGH, 1-row matrix (primitive sequence system) is level \(\varepsilon_0\) and 2-row matrix (pair sequence system) is level \(\vartheta(\Omega_\omega)\). 3-row matrix $$\begin{pmatrix} 0 & 1 & 2 & 3 \\ 0 & 1 & 2 & 2 \\ 0 & 1 & 1 & 1 \end{pmatrix}$$ is level \(\psi(\psi_{I_\omega}(0))\). FGH ordinal corresponding to n-row matrix $$\begin{pmatrix} 0 & 1 \\ 0 & 1 \\ \vdots & \vdots \\ 0 & 1 \end{pmatrix}$$ is not known. The corresponding function 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 also written as the sequence of transposes of columns (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 is written as \(S[n]\), where \(S\) is either matrix or sequence expression. When the function is approximated with a function from Hardy hierarchy with ordinal index \(\alpha\), we say the matrix \(BM\) represents \(\alpha\). For example:
 * $$\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))$$

Transformation rules
The rules below are described for sequence expression of a matrix.

Terminology

 * The length of a sequence is the number of pairs of brackets.
 * A sequence of length 1 (i.e. has one pair of brackets) is called an element of the sequence.
 * \(S\) denotes any sequence.
 * \(Z\) denotes \((0,0,...,0)\), which has one or more zeros.
 * \(f(n) = n^2\). (in variants of the notation this can be modified)
 * \(A\frown B\) is concatenation of sequence. For example, \((0,0)(1,1)\frown (2,2)(3,3)=(0,0)(1,1)(2,2)(3,3)\)

Element comparison
Denote \(A = (a_0,a_1,...,a_m), B = (b_0,b_1,...,b_m), D=\{ 0,1,...,m \}\). We make the following definition:

\[A < B \Leftrightarrow \forall i \in D ((a_i<b_i) \vee \exists j \in D (b_j=0 \wedge j \le i))\]

In simple words: \(A<B\) only if either \(B\) has no zeroes and all elements of \(B\) are larger than corresponding elements of \(A\), or \(B\) has some zeroes and all numbers in \(B\) to the left of leftmost zero are larger than corresponding elements of \(A\).

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

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

Rule 3. If neither Rule 1 or 2 is applicable, apply the rules below in order.

Rule 3-1. Denote the i-th element from the left in \(S\) by \(S_i\) and the length of \(S\) by \(n\). That is, \(S=S_1S_2\cdots S_n\). Note that \(S_n\) is not equal to \(Z\) since Rule 2 is not applicable.
 * If there is no element that is smaller than \(S_n\), replace \(S_n\) by \(Z\); \(S = S_1 S_2 \ldots S_{n-1} Z\) (and then apply Rule 2).
 * If there is at least one element that is smaller than \(S_n\), let the rightmost one be \(S_i\). We define the good part of the sequence to be \(G = S_1 \ldots S_{i-1}\), the bad part of the sequence to be \(B = S_i \ldots S_{n-1}\), \(L = S_i\), and \(N = S_n\). Note that now \(S=B\frown G\frown N\).

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


 * \(\Delta_i=0\) if there is a zero among \(N_0\) to \(N_{i+1}\) (letting \(N_{m+1}=0\))
 * \(\Delta_i=N_i-L_i\) otherwise

As \(L < N\) by choice of \(L\), \(\Delta_i \ge 0\).

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


 * \(B(0) = B\)
 * \(B(i+1)\) is \(B(i) + \Delta\); here \(+\) means coordinate-wise addition of \(\Delta\) to every element of \(B(i)\). For example, when \(B(0) = (1,1,1)(2,2,2)(3,3,3)\) and \(\Delta = (3,1,0)\), we have \(B(1) = (4,2,1)(5,3,2)(6,4,3)\) and \(B(2) = (7,3,1)(8,4,2)(9,5,3)\).

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

Definition using a program
Bashicu originally defined the system with BASIC program language. The program by Bashicu was not intended to be actually run, and because of that Fish wrote a program, Bashicu matrix calculator, intended for demonstrating the calculation process (the demonstration program was verified by Bashicu). Therefore, official definition of Bashicu matrix can be found in the source code of this program. Bashicu matrix calculator also has a web interface. 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 variants. By using the option of "Simulate Hardy function", the calculation exactly matches Hardy function with Wainer hierarchy for ordinals below \(\epsilon_0\).

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]\]
 * By 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)\), which 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)\)
 * By Rule 3-2: As \(L = (1,1,1)\) and \(N = (4,2,0)\), \(\Delta = (3,0,0)\)
 * By 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)\)
 * By rule 3-4: \(S [2] = {G \frown B(0) \frown B(1) \frown B(2) \frown B(3) \frown B(4)} [4]\)

This calculation matches calculation result of Bashicu matrix calculator.

Analysis
The first question was whether the calculation always terminates. It was not answered until an anonymous googologist posted a proof of this fact on 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 so strong. It has been analysed to some extent. Here are some examples.

\(\\(0,0,0)(1,1,1)(2,2,1)(3,2,0) = \psi(\psi_I(0)) \\(0,0,0)(1,1,1)(2,2,1)(3,2,1) = \psi(\psi_{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"}\)

n-row Bashicu matrix is considered to have the strength of a special type of, however the system as a whole may still be weaker than Second-order arithmetic; it is difficult to analyze. As Bashicu matrix is defined with a program, which can be translated into Turing machine, it is weaker than the busy beaver function. It is speculated that the system is weaker than, meaning that function defined by loader.c is stronger than Bashicu matrix.