Conway chained arrow notation#Graham's number

{{short description|Means of expressing certain extremely large numbers}}{{More citations needed|date=April 2025}}

Conway chained arrow notation, created by mathematician John Horton Conway, is a means of expressing certain extremely large numbers.John H. Conway & Richard K. Guy, The Book of Numbers, 1996, p.59-62 It is simply a finite sequence of positive integers separated by rightward arrows, e.g. 2\to3\to4\to5\to6.

As with most combinatorial notations, 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" 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 n+1.

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

Let a, b, c denote positive integers and let \# denote the unchanged remainder of the chain. Then:

  1. An empty chain (or a chain of length 0) is equal to 1.
  2. The chain a represents the number a.
  3. The chain a \rightarrow b represents the number a^b.
  4. The chain a \rightarrow b \rightarrow c represents the number a \uparrow^c b (see Knuth's up-arrow notation)
  5. The chains \# \rightarrow 1 and \# \rightarrow 1 \rightarrow a represent the same number as the chain \#
  6. Else, the chain \# \rightarrow (a+1) \rightarrow (b+1) represents the same number as the chain \# \rightarrow (\# \rightarrow a \rightarrow (b+1)) \rightarrow b.

Properties

Let X, Y denote sub-chains of length 1 or greater.

  1. A chain evaluates to a perfect power of its first number
  2. Therefore, 1\to Y is equal to 1
  3. X\to1\to Y is equivalent to X
  4. 2\to2\to Y is equal to 4
  5. X\to2\to2 is equivalent to X\to (X)

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. 34567 from right to left, that is not so with Conway's arrow chains.

For example:

  • 2\rightarrow3\rightarrow2 = 2\uparrow\uparrow3 = 2^{2^2} = 2^4=16
  • 2\rightarrow(3\rightarrow2) = 2^{3^2} = 2^9 = 512
  • (2 \rightarrow3) \rightarrow2 = (2^3)^2 =8^2=64

The sixth definition rule is the core: A chain of 4 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 fifth rule to shorten the chain. After, to paraphrase Knuth, "much detail", the chain is reduced to three elements and the fourth rule terminates the recursion.

Examples

Examples get quite complicated quickly. Here are some small examples:

n

:= n (By rule 2)

p\to q

:= p^q (By rule 3)

:Thus, 3\to4 = 3^4 = 81

4\to3\to2

:= 4\uparrow\uparrow 3 (By rule 4)

:= 4\uparrow(4\uparrow 4)

:= 4\uparrow256

:= 4^{256}

:= 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

:\approx 1.34 * 10 ^ {154}

2 \to 2 \to a

:= 2[\uparrow ^ a]2 (By rule 4)

:= 4 (see Knuth's up arrow notation)

2 \to 4 \to 3

:= 2 \uparrow \uparrow \uparrow 4 (By rule 4)

:=2\uparrow\uparrow2\uparrow\uparrow2\uparrow\uparrow2

:=2\uparrow\uparrow2\uparrow\uparrow4

:=2\uparrow\uparrow2\uparrow2\uparrow2\uparrow2

:=2\uparrow\uparrow2\uparrow2\uparrow4

:=2\uparrow\uparrow2\uparrow16

:=2\uparrow\uparrow 65536

:={^{65536}2} (see tetration)

2 \to 3 \to 2 \to 2

:=2 \to 3 \to (2 \to 3) \to 1 (By rule 6)

:=2 \to 3 \to 8 \to 1 (By rule 3)

:=2 \to 3 \to 8 (By rule 5)

:=2 \to (2 \to 2 \to 8) \to 7 (By rule 6)

:=2 \to 4 \to 7 (By rule 6)

:= 2 \uparrow\uparrow\uparrow\uparrow\uparrow\uparrow\uparrow 4 (By rule 4)

:= much larger than previous number

3 \to 2 \to 2 \to 2

:=3 \to 2 \to (3 \to 2) \to 1 (By rule 6)

:= 3 \to 2 \to 9 \to 1 (By rule 3)

:= 3 \to 2 \to 9 (By rule 5)

:= 3 \to 3 \to 8 (By rule 6)

:= 3 \uparrow\uparrow\uparrow\uparrow\uparrow\uparrow\uparrow\uparrow 3 (By rule 4)

:= much, much larger than previous number

=Systematic examples=

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

  • a \to b \to 2 \to 2
    = a \to b \to 2 \to (1 + 1)
    = a \to b \to (a \to b) \to 1
    = a \to b \to a^b
    = a [a^b + 2] b

: (equivalent to the last-mentioned property) The square brackets denote hyperoperation.

  • a \to b \to 3 \to 2
    = a \to b \to 3 \to (1 + 1)
    = a \to b \to (a \to b \to (a \to b) \to 1) \to 1
    = a \to b \to (a \to b \to a^b)
    = a [a\to b \to 2 \to 2 + 2] b
  • a \to b \to 4 \to 2
    = a \to b \to (a \to b \to (a \to b \to a^b))
    = a [a \to b \to 3 \to 2 + 2] b

We can see a pattern here. If, for any chain X, we let f(p) = X \to p then X \to p \to 2 = f^p(1) (see functional powers).

Applying this with X = a \to b, then f(p) = a [p + 2]b and a \to b \to p \to 2 = a [a \to b \to (p - 1) \to 2 + 2] b = f^p(1)

Thus, for example, 10 \to 6 \to 3\to 2 = 10 [10 [1000002] 6 + 2] 6 .

Moving on:

  • a \to b \to 2 \to 3
    = a \to b \to 2 \to (2 + 1)
    = a \to b \to (a \to b) \to 2
    = a \to b \to a^b \to 2
    = f^{a^b}(1)

Again we can generalize. When we write g_q(p) = X \to p \to q we have X \to p \to q+1 = g_q^p(1), that is, g_{q+1}(p) = g_q^p(1). In the case above, g_2(p) = a \to b \to p \to 2 = f^p(1) and g_3(p) = g_2^p(1), so a \to b \to 2 \to 3 = g_3(2) = g_2^2(1) = g_2(g_2(1)) = f^{f(1)}(1) = f^{a^b}(1)

Ackermann function

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

:A(m,n) = (2 \to (n+3) \to (m-2)) -3 for m \geq 3 (Since A(m,n) = 2 [m] (n+3) -3 in hyperoperation)

hence

:2 \to n \to 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).

Graham's number

Graham's number cannot be expressed in Conway chained arrow notation, but it is bounded by the following:

3 \rightarrow 3 \rightarrow 64 \rightarrow 2 < G < 3 \rightarrow 3 \rightarrow 65 \rightarrow 2

Proof: We first define the intermediate function f(n) = 3 \rightarrow 3 \rightarrow n = \begin{matrix}

3\underbrace{\uparrow \uparrow \cdots \uparrow}3 \\

\text{n arrows}

\end{matrix}, which can be used to define Graham's number as G = f^{64}(4). (The superscript 64 denotes a functional power.)

By applying rule 2 and rule 4 backwards, we simplify:

f^{64}(1)

:= 3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow (\cdots (3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow 1))\cdots )) (with 64 3 \rightarrow 3's)

:= 3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow (\cdots (3 \rightarrow 3 \rightarrow (3 \rightarrow 3) \rightarrow 1) \cdots ) \rightarrow 1) \rightarrow 1

:= 3 \rightarrow 3 \rightarrow 64 \rightarrow 2;

\left.

\begin{matrix}

= &3\underbrace{\uparrow \uparrow \cdots\cdots\cdots\cdot \uparrow}3 \\

&3\underbrace{\uparrow \uparrow \cdots\cdots\cdots \uparrow}3 \\

&\underbrace{\qquad\;\; \vdots \qquad\;\;} \\

&3\underbrace{\uparrow \uparrow \cdots\cdot \uparrow}3 \\

&3\uparrow 3

\end{matrix}

\right\} \text{64 layers}

f^{64}(4) = G;

:= 3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow (\cdots (3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow 4))\cdots )) (with 64 3 \rightarrow 3's)

\left.

\begin{matrix}

= &3\underbrace{\uparrow \uparrow \cdots\cdots\cdots\cdot \uparrow}3 \\

&3\underbrace{\uparrow \uparrow \cdots\cdots\cdots \uparrow}3 \\

&\underbrace{\qquad\;\; \vdots \qquad\;\;} \\

&3\underbrace{\uparrow \uparrow \cdots\cdot \uparrow}3 \\

&3\uparrow \uparrow \uparrow \uparrow 3

\end{matrix}

\right\} \text{64 layers}

f^{64}(27)

:= 3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow (\cdots (3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow 27))\cdots )) (with 64 3 \rightarrow 3's)

:= 3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow (\cdots (3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow (3 \rightarrow 3)))\cdots )) (with 65 3 \rightarrow 3's)

:= 3 \rightarrow 3 \rightarrow 65 \rightarrow 2 (computing as above).

:= f^{65}(1)

\left.

\begin{matrix}

= &3\underbrace{\uparrow \uparrow \cdots\cdots\cdots\cdot \uparrow}3 \\

&3\underbrace{\uparrow \uparrow \cdots\cdots\cdots \uparrow}3 \\

&\underbrace{\qquad\;\; \vdots \qquad\;\;} \\

&3\underbrace{\uparrow \uparrow \cdots\cdot \uparrow}3 \\

&3\uparrow 3

\end{matrix}

\right\} \text{65 layers}

Since f is strictly increasing,

:f^{64}(1) < f^{64}(4) < f^{64}(27)

which is the given inequality.

With chained arrows, it is very easy to specify a number much greater than Graham's number, for example, 3 \rightarrow 3 \rightarrow 3 \rightarrow 3 .

3 \rightarrow 3 \rightarrow 3 \rightarrow 3

:= 3 \rightarrow 3 \rightarrow (3 \rightarrow 3 \rightarrow 27 \rightarrow 2) \rightarrow 2\,

:= f^ {3 \rightarrow 3 \rightarrow 27 \rightarrow 2}(1)

:= f^{f^{27}(1)}(1)

\left.

\begin{matrix}

= &3\underbrace{\uparrow \uparrow \cdots\cdots\cdots\cdot\cdot \uparrow}3 \\

&3\underbrace{\uparrow \uparrow \cdots\cdots\cdots\cdot \uparrow}3 \\

&3\underbrace{\uparrow \uparrow \cdots\cdots\cdots \uparrow}3 \\

&\underbrace{\qquad\;\; \vdots \qquad\;\;} \\

&3\underbrace{\uparrow \uparrow \cdots\cdot \uparrow}3 \\

&3\uparrow 3

\end{matrix}

\right\}

\left.

\begin{matrix}

3\underbrace{\uparrow \uparrow \cdots\cdots\cdots\cdot \uparrow}3 \\

3\underbrace{\uparrow \uparrow \cdots\cdots\cdots \uparrow}3 \\

\underbrace{\qquad\;\; \vdots \qquad\;\;} \\

3\underbrace{\uparrow \uparrow \cdots\cdot \uparrow}3 \\

3\uparrow 3

\end{matrix}

\right\} \ 27

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

CG function

Conway and Guy created a simple, single-argument function that diagonalizes over the entire notation, defined as:

cg(n) = \underbrace{n\rightarrow n\rightarrow n\rightarrow \dots \rightarrow n\rightarrow n\rightarrow n}_{n}

meaning the sequence is:

cg(1) = 1

cg(2) = 2 \to 2 = 2^2 = 4

cg(3) = 3 \to 3 \to 3 = 3\uparrow\uparrow\uparrow3

cg(4) = 4 \to 4 \to 4 \to 4

cg(5) = 5 \to 5 \to 5 \to 5 \to 5

...

This function, as one might expect, grows extraordinarily fast.

Extension by Peter Hurford

Peter Hurford, a web developer and statistician, has defined an extension to this notation:

a \rightarrow_b c = \underbrace{a\rightarrow_{b-1} a\rightarrow_{b-1} a\rightarrow_{b-1} \dots \rightarrow_{b-1} a\rightarrow_{b-1} a\rightarrow_{b-1} a}_{c \text{ arrows}}

a \rightarrow_1 b = a \rightarrow b

All normal rules are unchanged otherwise.

a \rightarrow_2 (a-1) is already equal to the aforementioned cg(a), and the function f(n) = n \rightarrow_n n is much faster growing than Conway and Guy's cg(n).

Note that expressions like a \rightarrow_b c \rightarrow_d e are illegal if b and d are different numbers; a chain must have only one type of right-arrow.

However, if we modify this slightly such that:

a \rightarrow_b c \rightarrow_d e = a \rightarrow_b \underbrace{c \rightarrow_{d-1} c \rightarrow_{d-1} c \rightarrow_{d-1} \dots \rightarrow_{d-1} c \rightarrow_{d-1} c \rightarrow_{d-1} c}_{e \text{ arrows}}

then not only does a \rightarrow_b c \rightarrow_d e become legal, but the notation as a whole becomes much stronger.{{Cite news|url=http://www.greatplay.net/essays/large-numbers-part-ii-graham-and-conway|archive-url=https://archive.today/20130625000516/http://www.greatplay.net/essays/large-numbers-part-ii-graham-and-conway|url-status=dead|archive-date=2013-06-25|title=Large Numbers, Part 2: Graham and Conway - Greatplay.net|date=2013-06-25|work=archive.is|access-date=2018-02-18}}

See also

References

{{Reflist}}