Chained arrow notation

Chained arrow notation is a generalization of up-arrow notation devised by J. H. Conway and R. K. Guy. By Bird's Proof, Jonathan Bowers' array notation will generally produce larger values than chained arrow notation.

Definition

 * 1) \(a \rightarrow b = a^{b}\)
 * 2) \(a \rightarrow b \rightarrow c = a\underbrace{\uparrow\ldots\uparrow}_cb\) (in which up-arrow notation is used)
 * 3) \(a \rightarrow\ldots\rightarrow b \rightarrow 1 = a \rightarrow\ldots\rightarrow b\) — When last entry is 1, it will be ignored.
 * 4) \(a \rightarrow\ldots\rightarrow b \rightarrow 1 \rightarrow c = a \rightarrow\ldots\rightarrow b\)
 * 5) \(a \rightarrow\ldots\rightarrow b \rightarrow (c + 1) \rightarrow (d + 1) = a \rightarrow\ldots\rightarrow b \rightarrow (a \rightarrow\ldots\rightarrow b \rightarrow c \rightarrow (d + 1) ) \rightarrow d\)

Proof of well-definedness
Theorem. \(a_0 \rightarrow a_1 \rightarrow \cdots \rightarrow a_{n - 1}\) exists for all positive integers \(a_i\).

Proof. If \(n\) is 2 or 3, then the proof reduces to the well-definedness of arrow notation which is proven in the respective article. We use transfinite induction on the remaining rules.

We use transfinite induction on \(\omega^{n - 1} (a_{n - 1} - 1) + \cdots + \omega (a_1 - 1) + (a_0 - 1)\):


 * For rule 3, \(a_{n - 1} = 1\), so \(\omega^{n - 1} (a_{n - 1} - 1) + \omega^{n - 2} (a_{n - 2} - 1) + \cdots + \omega (a_1 - 1) + (a_0 - 1) \leq \omega^{n - 2} (a_{n - 2} - 1) + \cdots + \omega (a_1 - 1) + (a_0 - 1)\).
 * For rule 4, \(a_{n - 1} \neq 1\) and \(a_{n - 2} = 1\), so \(\omega^{n - 1} (a_{n - 1} - 1) + \omega^{n - 3} (a_{n - 3} - 1) + \cdots + \omega (a_1 - 1) + (a_0 - 1) < \omega^{n - 3} (a_{n - 3} - 1) + \cdots + \omega (a_1 - 1) + (a_0 - 1)\).

Examples
Here are some small examples of chained arrow notation in action:

\(3 \rightarrow 3 \rightarrow 2 = 3\uparrow\uparrow3 = 7,625,597,484,987\)


 * \(3 \rightarrow 3 \rightarrow 2 \rightarrow 2\)
 * \(= 3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow 1 \rightarrow 2) \rightarrow 1\)
 * \(= 3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow 1 \rightarrow 2)\)
 * \(= 3 \rightarrow 3 \rightarrow (3 \rightarrow 3)\)
 * \(= 3 \rightarrow 3 \rightarrow (3^{3})\)
 * \(= 3 \rightarrow 3 \rightarrow 27\)
 * \(= 3 \underbrace{\uparrow\ldots\uparrow}_{27} 3 \)

CG function
Using chained arrow notation, Conway and Guy created a new function similar to the Ackermann numbers that defines \(cg(n) = \underbrace{n \rightarrow n \rightarrow \ldots \rightarrow n \rightarrow n}_n\). Although it is equal to the Ackermann numbers for n from 1 to 3, \(cg(4) = 4\rightarrow 4\rightarrow 4\rightarrow 4 > \lbrace 4,4,3,2 \rbrace\), using Bird's Proof. Therefore cg(4) is much, much larger than the famous Graham's number.

The growth rate of this function is about \(f_{\omega^2}(n)\) in the fast-growing hierarchy. This is comparable to 4 entry linear arrays in BEAF or Bird's array notation.

Peter Hurford's extensions
Peter Hurford extends chained arrow notation by adding the following rule:

\(a \rightarrow_c b = \underbrace{a \rightarrow_{c-1} a \rightarrow_{c-1}\ldots\rightarrow_{c-1} a \rightarrow_{c-1}a}_{b \rightarrow_{c-1}'s}\)

All normal rules remains unchanged. Thus, they apply ignoring subscripts. Notice that expressions like \(3 \rightarrow_{2} 3 \rightarrow 3\) are illegal. Entire expressions must have single type of right-arrows. Also, Hurford shows that \(f(n) = n \rightarrow_n n\) is about \(f_{\omega^3}(n)\) in the fast-growing hierarchy. If we allow to mix different types of arrows in the single expression, we get \(f(n) \approx f_{\omega^\omega}(n)\).

Furthermore, he defines C(n) function as follows:


 * \(C(a) = a \rightarrow_a a\)
 * \(C(a,1) = a \rightarrow_{C(a)} a\)
 * \(C(a,b) = a \rightarrow_{C(a,b-1)} a\)
 * \(C(a,1,1) = C(a,C(a,a))\)
 * \(C(a,b,1) = C(a,C(a,b-1,1))\)
 * \(C(a,1,c) = C(a,C(a,a,c-1),c-1)\)
 * \(C(a,b,c) = C(a,C(a,b-1,c),c-1)\)

The function \(f(n) = C(n,n,n)\) grows about as fast as \(f_{\omega^3 + \omega}(n)\) in the fast-growing hierarchy.