Taro's multivariable Ackermann function

Taro's multivariable Ackermann function \(A(x_1,x_2, …, x_n)\) is an extension of the Ackermann function invented by a Japanese googologist Taro in 2007 and described by Fish in 2013Fish (2013) Googology in Japan - exploring large numbers.
It is similar to Ackermann function with 2 variables, and with more than
3 variables grows at similar rate as array notation, despite its simple definition.
== Definition ==
*X : vector of integers larger than or equal to 0, with the length larger than or equal to 0 (ex., [3, 1, 0, 0])
*Y : vector of 0 with the length larger than or equal to 0 (ex., [0, 0, 0, 0, 0])
*a, b : integer larger than or equal to 0
\begin{eqnarray*}
A(Y, a) & = & a+1 \\
A(X, b+1, 0) & = & A(X, b, 1) \\
A(X, b+1, a+1) & = & A( X, b, A(X, b+1, a) ) \\
A(X, b+1, 0, Y, a ) & = & A(X, b, a, Y, a)
\end{eqnarray*}
In other words:
*If all but/and the last variable are zeros,the function value is the successor of the last variable. (1st case)
*If the second to last variable is a non-zero: (2nd or 3rd case)
**If the last variable is zero: (2nd case)
***Replace the last variable to 1. 
***Reduce the second to last variable in 1.
**Else: (3rd case)
***Replace the last variable with value of the function, but with its last variable reduced by 1.
***Reduce the second to last variable in 1.
*Else (the second to last entry is a end of a Y vector (which will be named Z)): (4th case)
**Replace the first variable of Z with the last variable.
**Reduce the last variable before Z by 1.
== Calculation ==
The fast growth rate of this function is primarily because of the 4th case of the definition. In order to reduce the "b" variable by 1, it diagonizes the right variable from 0 to a. This is enough to make some strong recursion. If we count the variables from right to left, 2nd variable recurses the 1st variable (primitive recursion in Ackermann function), 3rd variable recurses the second variable, where recursion of primitive recursion makes double recursion, 4th variable recurses the 3rd variable. As the nth variable recurses the (n-1)th variable, the "level" of recursion steadily goes up.
Example calculation is shown to compare this with Graham's number with help of Conway's chained arrow notation. With 2 variables, it is similar to standard Ackermann function and can be compared as
\begin{eqnarray*}
A(x,y) & \approx & 3 \rightarrow y \rightarrow x-2 \\
\end{eqnarray*}
With 3 variables,
\begin{eqnarray*}
A(1,1,0) & = & A(1,0,1) = A(0,1,1) = A(1,1) = 3 \\
A(1,1,1) & = & A(1,0,A(1,1,0)) = A(1,0,3) = A(3,3) = 61 \\
A(1,1,2) & = & A(1,0,61) = A(61,61) > 3 \rightarrow 3 \rightarrow 2 \rightarrow 2 \\
A(1,1,3) & \approx & A(1,0,3 \rightarrow 3 \rightarrow 2 \rightarrow 2) \approx 3 \rightarrow 3 \rightarrow 3 \rightarrow 2 \\
A(1,1,4) & \approx & A(1,0,3 \rightarrow 3 \rightarrow 2 \rightarrow 3) \approx 3 \rightarrow 3 \rightarrow 4 \rightarrow 2 \\
A(1,1,x) & \approx & 3 \rightarrow 3 \rightarrow x \rightarrow 2 \\
A(1,1,65) & \approx & 3 \rightarrow 3 \rightarrow 65 \rightarrow 2 > G \\
A(1,2,0) & = & A(1,1,1) = 61 \\
A(1,2,1) & = & A(1,1,61) > 3 \rightarrow 3 \rightarrow 61 \rightarrow 2 \\
A(1,2,2) & \approx & A(1,1,3 \rightarrow 3 \rightarrow 61 \rightarrow 2) > 3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow 61 \rightarrow 2) \rightarrow 2 > A(1,1,65)
\end{eqnarray*}
And therefore A(1,2,2) > A(1,1,65) > Graham's number.
The following relationship was calculated:Ackermann chain theorem
For \(x=1, y>1\) or \(x>1, y+z>0\)
\[A(x,y,z) < \underbrace{3 \rightarrow3 \rightarrow \cdots \rightarrow 3}_{x+1 \text{reps of} 3s} \rightarrow z+2 \rightarrow y+1 < A(x,y,z+1)\]
Therefore function A(x,y,z) has a recursive level corresponding to x+3 variables of Conway's chained arrow notation, and A(1,0,1,2) exceeds Conway's chained arrow notation with Graham's number variables.
\begin{eqnarray*}
A(1,0,1,0) & = & A(1,0,0,1) = A(1,0,1) = A(1,1) = 3 \\
A(1,0,1,1) & = & A(1,0,0,A(1,0,1,0)) \\
& = & A(1,0,0,3) = A(3,0,3) = A(2,3,3) \\
A(1,0,1,2) & = & A(1,0,0,A(1,0,1,1)) \\
& = & A(1,0,0,A(2,3,3)) \\
& = & A(A(2,3,3),0,A(2,3,3)) \approx \underbrace{3 \rightarrow 3 \rightarrow 3 ...
3 \rightarrow 3 \rightarrow 3}_{A(2,3,3)} \end{eqnarray*}
The growth rate of this function was compared with fast-growing hierarchy as follows.
\begin{eqnarray*}
A(n, n) & \approx & f_{\omega}(n) \\
A(1, 0, n) & \approx & f_{\omega}(n) \\
A(a, 0, n) & \approx & f_{\omega･a}(n) \\
A(n, 0, n) & \approx & f_{\omega^2}(n) \\
A(1, 0, 0, n) & \approx & f_{\omega^2}(n) \\
A(a, 0, 0, n) & \approx & f_{\omega^2･a}(n) \\
A(n, 0, 0, n) & \approx & f_{\omega^3}(n) \\
A(1, 0, 0, 0, n) & \approx & f_{\omega^3}(n) \\
A(a, 0, 0, 0, n) & \approx & f_{\omega^3･a}(n) \\
A(n, 0, 0, 0, n) & \approx & f_{\omega^4}(n) \\
A(..., a3, a2, a1, a0, n) & \approx & f_{... + \omega^3･a3 + \omega^2･a2 + \omega･a1 + a0}(n) \\
A(\underbrace{1,1,...,1}_n) & \approx & f_{\omega^\omega}(n) \\
\end{eqnarray*}
== Approximations in other notations ==
\(A(..., d, c, b, a, n)\) is approximated as follows.
Notation 	Approximation
BEAF and Bird's array notation 	\(\lbrace n,2,a+1,b+1,c+1,d+1,... \rbrace\)
X-Sequence Hyper-Exponential Notation	\(n\{... + X^3 d + X^2 c + Xb + a\}n\)
Strong array notation 	\(s(n,n,a+1,b+1,c+1,d+1,...)\)
Username5243's Array Notation 	\(n[a,b,c,d,...]n\)
Fast-growing hierarchy 	\(f_{... \omega^3 d + \omega^2 c + \omega b + a}(n)\)
Hardy hierarchy 	\(H_{\omega^{... \omega^3 d + \omega^2 c + \omega b + a} }(n)\)
Slow-growing hierarchy 	???
== Sources ==
== See also ==
*Joyce's More Generalized Exponential Notation
ja:多変数アッカーマン関数
Category:Googology in Asia
Category:Notations
Category:Eponymous functions