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}\rightarrow a_n\) exists for all positive integers \(a_i\).

Proof. To each chain, let's relate the following ordinal to it: \(\alpha = \sum_{i = 0}^{n} \omega^i a_i\), where the sum is executed in descending order. We will now go bu transfinite induction on \(\alpha\).

If \(\alpha<\omega^3\) then the chain has at most 3 numbers, so it reduces to exponentiation and up-arrow notation.

When we apply rule 3 or 4, length of chain decreases, so obviously \(\alpha\) decreases as well, so this case is finished by transfinite induction.

Now, if we apply rule 5, the resulting chain involves chain \(a_0 \rightarrow a_1 \rightarrow \cdots \rightarrow (a_{n - 1}-1)\rightarrow a_n\), which clearly has smaller corresponding ordinal, so it eventually reduces to a single number \(A\). Now the resulting chain is thus \(a_0 \rightarrow a_1 \rightarrow \cdots \rightarrow A\rightarrow (a_n-1)\). Because last element of chain has decreased, so has decreased the constant next to the higher power of \(\omega\) in corresponding ordinal. Now by transfinite induction this chain, and thus the original chain, eventually terminates with a single number.

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.