Chained arrow notation

Chained Arrow Notation is a generalization of 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.

Formula
\(a \rightarrow b \rightarrow c = a\underbrace{\uparrow\ldots\uparrow}_cb\) (in which Arrow Notation is used)

When last entry is 1, it will be ignored. \(a \rightarrow\ldots\rightarrow b \rightarrow 1 = a \rightarrow\ldots\rightarrow b\)

\(a \rightarrow\ldots\rightarrow b \rightarrow 1 \rightarrow c = a \rightarrow\ldots\rightarrow b\)

\(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\)

CG function
Using this 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.

Growth rate of this function is about \(f_{\omega^2}(n)\) in the fast-growing hierarchy.

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}\)

More formally:

\(a \rightarrow_c b = a \rightarrow_{c-1} (a \rightarrow_c (b-1))\)

\(a \rightarrow_c 1 = a \rightarrow_{c-1} a\)

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.