# Conway chained arrow notation

**Conway chained arrow notation**, created by mathematician John Horton Conway, is a means of expressing certain extremely large numbers. It is simply a finite sequence of positive integers separated by rightward arrows, e.g. 2 → 3 → 4 → 5 → 6, and it can be written as Bowers' Exploding Array Function with {2, 3, 4, 5, 6}.

As with most combinatorial symbologies, the definition is recursive. In this case the notation eventually resolves to being the leftmost number raised to some (usually enormous) integer power.

## Definition and overview

A *Conway chain* (or *chain* for short) is defined as follows:

- Any positive integer is a chain of length 1.
- A chain of length
*n*, followed by a right-arrow → and a positive integer, together form a chain of length .

Any chain represents an integer, according to the four rules below. Two chains are said to be equivalent if they represent the same integer.

If and are positive integers, and is a subchain, then:

- An empty chain (or a chain of length 0) represents 1, and the chain represents the number .
- represents the exponential expression . (Note that Conway in
^{[1]}leaves the 2-tuple undefined, but has the 3d parameter count Knuth's arrows, so that this rule actually follows from the axiom to drop the from the right end.) - is equivalent to .
- is equivalent to

(with*p*copies of*X*,*p*− 1 copies of*q*, and*p*− 1 pairs of parentheses; applies for*q*> 0).

Note that the last rule can be restated recursively to avoid the ellipses:

## Properties

- A chain of length 3 corresponds to hyperoperation and Knuth's up-arrow notation:
- a chain
*X*→*Y*is of the form*X*→*p*; hence: - a chain starting with
*a*is a power of*a* - a chain 1 →
*Y*is equal to 1 - a chain
*X*→ 1 →*Y*is equal to*X* - a chain 2 → 2 →
*Y*is equal to 4 - a chain
*X*→ 2 → 2 is equal to (*X*) → (*X*) (chain*X*with its value concatenated to it)

## Interpretation

One must be careful to treat an arrow chain *as a whole*. Arrow chains do not describe the iterated application of a binary operator. Whereas chains of other infixed symbols (e.g. 3 + 4 + 5 + 6 + 7) can often be considered in fragments (e.g. (3 + 4) + 5 + (6 + 7)) without a change of meaning (see associativity), or at least can be evaluated step by step in a prescribed order, e.g. 3^{4567} from right to left, that is not so with Conway's arrow.

For example:

The fourth rule is the core: A chain of 3 or more elements ending with 2 or higher becomes a chain of the same length with a (usually vastly) increased penultimate element. But its *ultimate* element is decremented, eventually permitting the third rule to shorten the chain. After, to paraphrase Knuth, "much detail", the chain is reduced to two elements and the second rule terminates the recursion.

## Examples

Examples get quite complicated quickly, here are small examples:

*n*

- =
*n*(by rule 1)

With hyperoperation:

*n*

- =
*n*

*p→q*

- =
*p*(by rule 2)^{q} - Thus 3→4 = 3
^{4}= 81

With hyperoperation:

*p* [3] *q*

- =
*p*^{q} - And that 3 [3] 4 = 3
^{4}= 81

1→(*any arrowed expression*)

- = 1 since the entire expression eventually reduces to 1
^{number}= 1. (Indeed, any chain containing a 1 can be truncated just before that 1; e.g.*X*→1→*Y*=*X*for any (embedded) chains*X,Y*.)

With hyperoperation:

1 [*n*] *b* (with *n*, *b* any natural number, *n* ≥ 3)

- = 1

4→3→2

- = 4→(4→(4)→1)→1 (by 4) and then, working from the inner parentheses outwards,
- = 4→(4→4→1)→1 (remove redundant parentheses (rrp))
- = 4→(4→4)→1 (3)
- = 4→(256)→1 (2)
- = 4→256→1 (rrp)
- = 4→256 (3)
- = 4
^{256}(2) - = 13 407 807 929 942 597 099 574 024 998 205 846 127 479 365 820 592 393 377 723 561 443 721 764 030 073 546 976 801 874 298 166 903 427 690 031 858 186 486 050 853 753 882 811 946 569 946 433 649 006 084 096 exactly ≈ 1.34078079299 × 10
^{154}

With hyperoperation:

4 [4] 3

- = 4 [3] 4 [3] 4
- = 4 [3] 256
- = 4
^{256} - = 2
^{512}

2→2→4

- = 2→(2)→3 (by 4)
- = 2→2→3 (rrp)
- = 2→2→2 (4, rrp)
- = 2→2→1 (4, rrp)
- = 2→2 (3)
- = 4 (2) (In fact, any chain beginning with two 2s stands for 4.)

With hyperoperation:

2 [6] 2

- = 2 [5] 2
- = 2 [4] 2
- = 2 [3] 2
- = 2
^{2} - = 4

2→4→3

- =
**2**→(**2**→(**2**→(**2**)→2)→2)→2 (by 4)*The four copies of***X**(which is**2**here) are in bold to distinguish them from the three copies of**q**(which is also 2) - = 2→(2→(2→2→2)→2)→2 (rrp)
- = 2→(2→(4)→2)→2 (previous example)
- = 2→(
**2→4→2**)→2 (rrp)*(expression expanded in next equation shown in bold on both lines)* - = 2→(
**2→(2→(2→(2)→1)→1)→1**)→2 (4) - = 2→(2→(2→(2→2→1)→1)→1)→2 (rrp)
- = 2→(2→(2→(2→2)))→2 (3 repeatedly)
- = 2→(2→(2→(4)))→2 (2)
- = 2→(2→(16))→2 (2)
- = 2→65536→2 (2,rrp)
- = 2→(2→(2→(...2→(2→(2)→1)→1...)→1)→1)→1 (4) with 65535 sets of parentheses
- = 2→(2→(2→(...2→(2→(2))...))) (3 repeatedly)
- = 2→(2→(2→(...2→(4))...))) (2)
- = 2→(2→(2→(...16...))) (2)
- = (a tower with 2
^{16}= 65536 stories) =^{65536}2 (See Tetration)

With hyperoperation:

2 [5] 4

- = 2 [4] 2 [4] 2 [4] 2
- = 2 [4] 2 [4] (2 [3] 2)
- = 2 [4] 2 [4] 4
- = 2 [4] (2 [3] 2 [3] 2 [3] 2)
- = 2 [4] 65536.

2→3→2→2

- = 2→3→(2→3)→1 (by 4)
- = 2→3→8 (2 and 3)
- = 2→(2→2→7)→7 (1)
- = 2→4→7 (two initial 2's give 4 [prop6])
- = 2→(2→(2→2→6)→6)→6 (4)
- = 2→(
**2→4→6**)→6 (prop6) - = 2→(
**2→(2→(2→2→5)→5)→5**)→6 (4) - = 2→(2→(
**2→4→5**)→5)→6 (prop6) - = 2→(2→(
**2→(2→(2→2→4)→4)→4**)→5)→6 (4) - = 2→(2→(2→(
**2→4→4**)→4)→5)→6 (prop6) - = 2→(2→(2→(
**2→(2→(2→2→3)→3)→3**)→4) →5)→6 (4) - = 2→(2→(2→(2→(2→4→3)→3)→4)→5)→6 (prop6)
- = 2→(2→(2→(2→(2→65536→2)→3)→4)→5)→6 (previous example)
- =
*much larger than previous number*

With hyperoperation:

2 [10] 3

- = 2 [9] 2 [9] 2
- = 2 [9] 4
- = 2 [8] 2 [8] 2 [8] 2
- = 2 [8] 2 [8] 4
- = 2 [8] (2 [7] 2 [7] 2 [7] 2)
- = 2 [8] (2 [7] 2 [7] 4)
- = 2 [8] (2 [7] ( 2 [6] 2 [6] 2 [6] 2))
- = 2 [8] (2 [7] (2 [6] 2 [6] 4))
- = 2 [8] (2 [7] (2 [6] (2 [5] 2 [5] 2 [5] 2)))
- = 2 [8] (2 [7] (2 [6] (2 [5] 2 [5] 4)))
- = 2 [8] (2 [7] (2 [6] (2 [5] ( 2 [4] 2 [4] 2 [4] 2))))
- = 2 [8] (2 [7] (2 [6] (2 [5] (2 [4] 2 [4] 4))))
- = 2 [8] (2 [7] (2 [6] (2 [5] (2 [4] (2 [3] 2 [3] 2 [3] 2)))))
- = 2 [8] (2 [7] (2 [6] (2 [5] (2 [4] (2 [3] 2 [3] 4)))))
- = 2 [8] (2 [7] (2 [6] (2 [5] (2 [4] (2 [3] 16)))))
- = 2 [8] (2 [7] (2 [6] (2 [5] (2 [4] 65536)))).

3→2→2→2

- = 3→2→(3→2)→1 (4)
- = 3→2→9 (2 and 3)
- = 3→3→8 (4)

With hyperoperation:

3 [10] 3.

### Systematic examples

The simplest cases with four terms (containing no integers less than 2) are:

- (also following from the last-mentioned property)

We can see a pattern here. If, for any chain *X*, we let then (see
functional powers).

Moving on:

Again we can generalize. When we write we have , that is, . In the case above, and , so

## Ackermann function

The Ackermann function may be expressed using Conway chained arrow notation:

*A*(*m*,*n*) = (2 → (*n*+ 3) →*(m*− 2)) − 3 for*m*> 2 (Since*A*(*m*,*n*) = 2 [*m*] (*n*+ 3) - 3 in hyperoperation)

hence

- 2 →
*n*→*m*=*A*(*m*+ 2,*n*− 3) + 3 for*n*> 2

(*n* = 1 and *n* = 2 would correspond with *A*(*m*, −2) = −1 and *A*(*m*, −1) = 1, which could logically be added).

## Bowers' Exploding Array Function

A chain *a*_{1} →*a*_{2} →*a*_{3} →... →*a*_{n} can be also written as Bowers' Exploding Array Function with {*a*_{1}, *a*_{2}, *a*_{3}, ..., *a*_{n}}.^{[2]} For example, 3 →5 →7 = {3, 5, 7}.

## Graham's number

Graham's number itself cannot be expressed concisely in Conway chained arrow notation, but by defining the intermediate function , we have: (see functional powers), and

**Proof:** Applying in order the definition, rule 3, and rule 4, we have:

Since *f* is strictly increasing,

which is the given inequality.

With chain arrows it is very easy to specify a much larger number. For example, note that

which is much greater than Graham's number, because the number = f^{27}(1) is much greater than 65.

## See also

- Steinhaus–Moser notation
- Ackermann function
- Systematically creating ever faster increasing sequences