加法 を反復すると乗法 、乗法を反復すると累乗 が得られる。このとき累乗を上向き矢印によって a ↑ b = ab と表して、さらに ↑ の反復を ↑↑ (テトレーション )、↑↑ の反復を ↑↑↑ (ペンテーション )、というように矢印を増やしていくことで累乗の先の演算を表せるようにしたものをクヌースの矢印表記 と呼ぶ。
(
1
)
a
×
b
=
a
+
a
+
⋯
+
a
⏟
b
copies of
a
=
a
+
⋯
a
+
⏟
b
−
1
a
(
2
)
a
↑
b
=
a
×
a
×
⋯
×
a
⏟
b
copies of
a
=
a
×
⋯
a
×
⏟
b
−
1
a
(
3
)
a
↑
c
b
=
a
↑
c
−
1
a
↑
c
−
1
⋯
↑
c
−
1
a
⏟
b
copies of
a
=
a
↑
c
−
1
⋯
a
↑
c
−
1
⏟
b
−
1
a
=
a
↑
c
−
1
a
⋯
↑
c
−
1
a
⏟
b
−
1
copies of
a
{\displaystyle {\begin{array}{lclcl}(1)\qquad a\times b&=&\underbrace {a+a+\cdots +a} _{b{\text{ copies of }}a}&=&\underbrace {a+\cdots a\,+} _{b-1}~a\\(2)\qquad a\uparrow b&=&\underbrace {a\times a\times \cdots \times a} _{b{\text{ copies of }}a}&=&\underbrace {a\times \cdots a\,\times } _{b-1}~a\\(3)\qquad a\uparrow ^{c}b&=&\underbrace {a\uparrow ^{c-1}a\uparrow ^{c-1}\cdots \uparrow ^{c-1}a} _{b{\text{ copies of }}a}&=&\underbrace {a\uparrow ^{c-1}\cdots a\uparrow ^{c-1}} _{b-1}~a&=&a~\underbrace {\uparrow ^{c-1}a\cdots \uparrow ^{c-1}a} _{b-1{\text{ copies of }}a}\end{array}}\,\!}
コンウェイのチェーン表記は、このクヌースの矢印表記の一般化、拡張である。以下チェーンの各項はすべて自然数 であるものとする。
コンウェイはまず長さが 3 のチェーンを、クヌースの矢印表記を用いて次のように与えた[ 1] 。
(
4
)
a
→
b
→
c
=
a
↑
⋯
↑
⏟
c
本
b
=
a
↑
c
b
{\displaystyle (4)\qquad a\rightarrow b\rightarrow c=a\underbrace {\uparrow \cdots \uparrow } _{c{\text{本}}}b=a\uparrow ^{c}b}
(
a
→
b
=
a
b
{\displaystyle a\rightarrow b=a^{b}}
とも書き換えられる)
このチェーンによって (3) を書き換えると次のような式になる。これは末尾 → c のチェーンを末尾 → (c − 1) のチェーンに分解する式となっている。
(
5
)
a
→
b
→
c
=
a
↑
c
−
1
a
↑
c
−
1
⋯
a
↑
c
−
1
a
↑
c
−
1
a
↑
c
−
1
a
⏟
b
copies of
a
=
a
↑
c
−
1
a
↑
c
−
1
a
↑
c
−
1
⋯
a
↑
c
−
1
a
↑
c
−
1
a
↑
c
−
1
a
⏟
b
−
1
copies of
a
=
a
↑
c
−
1
a
↑
c
(
b
−
1
)
=
a
↑
c
−
1
{
a
→
(
b
−
1
)
→
c
}
=
a
→
{
a
→
(
b
−
1
)
→
c
}
→
(
c
−
1
)
=
a
→
(
a
→
(
⋯
→
(
a
→
(
a
⏟
b
)
→
(
c
−
1
)
)
→
⋯
)
→
(
c
−
1
)
)
→
(
c
−
1
)
⏟
b
−
1
{\displaystyle (5)\qquad {\begin{aligned}a\rightarrow b\rightarrow c=&\underbrace {a\uparrow ^{c-1}a\uparrow ^{c-1}\cdots a\uparrow ^{c-1}a\uparrow ^{c-1}a\uparrow ^{c-1}a} _{b{\text{ copies of }}a}=a\uparrow ^{c-1}\underbrace {a\uparrow ^{c-1}a\uparrow ^{c-1}\cdots a\uparrow ^{c-1}a\uparrow ^{c-1}a\uparrow ^{c-1}a} _{b-1{\text{ copies of }}a}=a\uparrow ^{c-1}a\uparrow ^{c}\left(b-1\right)=a\uparrow ^{c-1}\left\{a\rightarrow \left(b-1\right)\rightarrow c\right\}\\=&a\rightarrow \left\{a\rightarrow (b-1)\rightarrow c\right\}\rightarrow (c-1)=\underbrace {a\rightarrow {\biggl (}a\rightarrow {\biggl (}\cdots \rightarrow {\Bigl (}a\rightarrow (\quad a} _{b}\quad \underbrace {)\rightarrow (c-1){\Bigr )}\rightarrow \cdots {\biggr )}\rightarrow (c-1){\biggr )}\rightarrow (c-1)} _{b-1}\end{aligned}}}
この式の a を部分チェーン X に置き換えることで、長さが 4 以上のチェーンに対する式が得られる。
(
6
)
X
→
b
→
c
=
X
→
{
X
→
(
b
−
1
)
→
c
}
→
(
c
−
1
)
=
X
→
(
X
→
(
⋯
→
(
X
→
(
X
⏟
b
)
→
(
c
−
1
)
)
→
⋯
)
→
(
c
−
1
)
)
→
(
c
−
1
)
⏟
b
−
1
{\displaystyle (6)\qquad X\rightarrow b\rightarrow c=X\rightarrow \left\{X\rightarrow (b-1)\rightarrow c\right\}\rightarrow (c-1)=\underbrace {X\rightarrow {\biggl (}X\rightarrow {\biggl (}\cdots \rightarrow {\Bigl (}X\rightarrow (\quad X} _{b}\quad \underbrace {)\rightarrow (c-1){\Bigr )}\rightarrow \cdots {\biggr )}\rightarrow (c-1){\biggr )}\rightarrow (c-1)} _{b-1}}
さらにコンウェイはチェーン末尾の→ 1 は無視されるとした[ 1] 。従って式 (5) , (6) を繰り返して末項を 1 にすることで、長さが 1 短いチェーンへと分解することができる。
(
7
)
a
1
→
⋯
→
a
n
→
1
=
a
1
→
⋯
→
a
n
{\displaystyle (7)\qquad a_{1}\rightarrow \cdots \rightarrow a_{n}\rightarrow 1=a_{1}\rightarrow \cdots \rightarrow a_{n}}
また、この規則から長さが 2 のチェーンは累乗となる。
さらにコンウェイはチェーン途中の→ 1 の右側の全ても無視されるとした。それにより4つ組チェーンの計算も行える。
a
→
b
→
⋅
⋅
⋅
→
z
→
1
→
⋅
⋅
⋅
=
a
→
b
→
⋅
⋅
⋅
→
z
{\displaystyle a\rightarrow b\rightarrow \cdot \cdot \cdot \rightarrow z\rightarrow 1\rightarrow \cdot \cdot \cdot =a\rightarrow b\rightarrow \cdot \cdot \cdot \rightarrow z}
次のようにチェーン を定義する。
任意の正の整数 は、長さ 1 のチェーンである。
長さ n のチェーンに、右向き矢印 → と正の整数を繋げたものは、長さ n + 1 のチェーンとなる。
さらに p , q を正の整数、X を部分チェーンとするとき、チェーンについて以下が成り立つ。
長さ 0 のチェーン(空チェーン)は、1 に等しい。
長さ 1 のチェーン p は、p に等しい。
長さ 2 のチェーン p → q は、pq に等しい。
長さ 3 のチェーン p → q → 0 は pq に、p → 0 → 2 は 1 に各々等しい。
X → 1 は X に等しい。即ちチェーン右端の → 1 は取り除くことができる。
X → 1 → p は X に等しい。即ちチェーン右端の → 1 → p は取り除くことができる。
X → (p + 1) → (q + 1) は
X
→
{
X
→
p
→
(
q
+
1
)
}
→
q
{\displaystyle X\rightarrow \left\{X\rightarrow p\rightarrow \left(q+1\right)\right\}\rightarrow q}
に等しい。
ここで関数 f を f (x ) = X → (x ) → q とおくと、最後の二つの条件は次のようにも述べられる。但し fp は f の p 回反復合成 である。
X
→
(
p
+
1
)
→
(
q
+
1
)
=
X
→
(
⋯
→
(
X
→
(
⏟
p
X
)
→
q
)
→
⋯
)
→
q
⏟
p
=
f
(
⋯
f
(
⏟
p
X
)
⋯
)
⏟
p
=
f
p
(
X
)
{\displaystyle {\begin{aligned}X\rightarrow (p+1)\rightarrow (q+1)&=\underbrace {X\rightarrow {\biggl (}\cdots \rightarrow {\Bigl (}X\rightarrow (} _{p}\quad X\quad \underbrace {)\rightarrow q{\Bigr )}\rightarrow \cdots {\biggr )}\rightarrow q} _{p}\\&=\underbrace {f(\cdots f(} _{p}\quad X\quad \underbrace {)\cdots )} _{p}\\&=f^{p}(X)\end{aligned}}}
上記以外の書き方でされている定義もある。
書き方は違うが、意味は同じである。
以下の4つの定義でチェーン表記を定義することも可能である。
チェーン表記
a
→
b
→
c
→
⋯
→
y
→
z
{\displaystyle a\rightarrow b\rightarrow c\rightarrow \dots \rightarrow y\rightarrow z}
(a~zは正の整数)を以下のように定義する。
a
→
b
=
a
b
{\displaystyle a\rightarrow b=a^{b}}
a
→
b
→
c
→
⋯
→
y
→
z
→
1
=
a
→
b
→
c
→
⋯
→
y
→
z
{\displaystyle \displaystyle a\rightarrow b\rightarrow c\rightarrow \dots \rightarrow y\rightarrow z\rightarrow 1={\displaystyle a\rightarrow b\rightarrow c\rightarrow \dots \rightarrow y\rightarrow z}}
a
→
b
→
c
→
⋯
→
y
→
z
→
1
→
⋯
=
a
→
b
→
c
→
⋯
→
y
→
z
{\displaystyle \displaystyle a\rightarrow b\rightarrow c\rightarrow \dots \rightarrow y\rightarrow z\rightarrow 1\rightarrow \dots ={\displaystyle a\rightarrow b\rightarrow c\rightarrow \dots \rightarrow y\rightarrow z}}
a
→
b
→
c
→
⋯
→
y
→
z
=
a
→
b
→
c
→
⋯
→
(
a
→
b
→
c
→
⋯
→
(
y
−
1
)
→
z
)
→
(
z
−
1
)
{\displaystyle a\rightarrow b\rightarrow c\rightarrow \dots \rightarrow y\rightarrow z=a\rightarrow b\rightarrow c\rightarrow \dots \rightarrow (a\rightarrow b\rightarrow c\rightarrow \dots \rightarrow (y-1)\rightarrow z)\rightarrow (z-1)}
以下、項(正の整数)を小文字 a , b , ... 、チェーン(および部分チェーン)を大文字 A , B , ... で表す。
長さ 3 のチェーンは、ハイパー演算子 、クヌースの矢印表記 、および配列表記 による表示をもつ。
p
→
q
→
r
=
H
r
+
2
(
p
,
q
)
{\displaystyle p\rightarrow q\rightarrow r=H_{r+2}(p,\,q)}
p
→
q
→
r
=
p
↑
r
q
{\displaystyle p\rightarrow q\rightarrow r=p\uparrow ^{r}q}
p
→
q
→
r
=
{
p
,
q
,
r
}
{\displaystyle p\rightarrow q\rightarrow r=\{p,q,r\}}
任意のチェーンに対し常にただ一つの整数が定まる。
長さ n のチェーン X → p → q は適当な r によって X → r と変形できる。即ち先頭から n − 2 項を保ったまま長さを 1 短くできる。
a から始まるチェーン a → X は a の冪 a t となる。
1 から始まるチェーン 1 → X は 1 に等しい。
1 より後の項はすべて無視することができる。
X
→
1
→
Y
=
X
{\displaystyle X\rightarrow 1\rightarrow Y=X}
先頭に 2 が連なったチェーン 2 → 2 → X は 4 に等しい。
末尾に 2 が連なったチェーン X → 2 → 2 は X → (X ) に等しい。
p-q は p → (q → (-1) → 0) → (-1) に等しい。
p/q は p → (q → (-1) → 1) → 0 に等しい。
p → (q → (-1) → 2) → 1 = pq → (-1) → 2 は plogq (logq (q → (+1) → 2)) = plogq (logq (q)) = plogq (1) = p0 = 1 に等しい。
以下は長さが 3 のチェーンの計算例である。
= 2 → (2 → 2 → 3) → 2
= 2 → (2 → (2 → 1 → 3) → 2) → 2
= 2 → (2 → 2 → 2) → 2
= 2 → (2 → (2 → 1 → 2) → 1) → 2
= 2 → (2 → 2) → 2
= 2 → 4 → 2
= 2 → (2 → (2 → (2 → 1 → 2) → 1) → 1) → 1
= 2 → (2 → (2 → 2))
= 2222
= 216
= 65536
= 3 → (3 → 1 → 3) → 2
= 3 → 3 → 2
= 3 → (3 → 2 → 2) → 1
= 3 → (3 → (3 → 1 → 2) → 1) → 1
= 3 → (3 → 3)
= 333
= 327
= 7625 597 484 987
= 4 → (4 → (4 → 1 → 2) → 1) → 1
= 4 → (4 → 4)
= 444
= 4256
= 13407 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
以下は長さが 4 のチェーンのクヌースの矢印表記 による展開例(縦横展開 )である。
p
→
q
→
r
→
1
=
p
↑
⋯
↑
⏟
r
本
q
{\displaystyle {\begin{matrix}p\rightarrow q\rightarrow r\rightarrow 1&=&p\underbrace {\uparrow \cdots \uparrow } _{r{\text{本}}}q\end{matrix}}}
p
→
q
→
r
→
2
=
p
→
q
→
{
p
→
q
→
(
r
−
1
)
→
2
}
→
1
=
p
→
q
→
{
p
→
q
→
(
r
−
1
)
→
2
}
=
p
→
q
→
(
p
→
q
→
⋯
(
p
→
q
→
(
⏟
r
1
)
→
1
)
⋯
→
1
)
⏟
r
=
p
↑
⋯
⋯
⋯
⋯
↑
⏟
p
↑
⋯
⋯
↑
⏟
⋮
⏟
p
↑
⋯
↑
⏟
p
q
本
q
本
q
本
q
}
r
層
{\displaystyle \left.{\begin{matrix}p\rightarrow q\rightarrow r\rightarrow 2=p\rightarrow q\rightarrow \left\{p\rightarrow q\rightarrow (r-1)\rightarrow 2\right\}\rightarrow 1=p\rightarrow q\rightarrow \left\{p\rightarrow q\rightarrow (r-1)\rightarrow 2\right\}=\underbrace {p\rightarrow q\rightarrow (p\rightarrow q\rightarrow \cdots (p\rightarrow q\rightarrow (} _{r}1)\underbrace {\rightarrow 1)\cdots \rightarrow 1)} _{r}&=&p\underbrace {\uparrow \cdots \cdots \cdots \cdots \uparrow } _{\scriptstyle p\underbrace {\uparrow \cdots \cdots \uparrow } _{\scriptstyle \underbrace {\quad ~\vdots ~\quad } _{\scriptstyle p\underbrace {\uparrow \cdots \uparrow } _{\scriptstyle p^{q}{\text{本}}}q{\text{本}}}}q{\text{本}}}q\end{matrix}}\right\}{\scriptstyle r{\text{層}}}}
p
→
q
→
r
→
3
=
p
→
q
→
(
p
→
q
→
⋯
(
p
→
q
→
(
⏟
r
1
)
→
2
)
⋯
→
2
)
⏟
r
=
p
↑
⋯
⋯
⋯
⋯
↑
⏟
q
p
↑
⋯
⋯
↑
⏟
q
本
⋮
⋮
⋮
⏟
p
↑
⋯
↑
⏟
p
q
本
q
本
}
p
↑
⋯
⋯
⋯
⋯
↑
⏟
q
層
p
↑
⋯
⋯
↑
⏟
q
本
⋮
⋮
⏟
p
↑
⋯
↑
⏟
p
q
本
q
本
}
⋯
}
p
↑
⋯
⋯
⋯
⋯
↑
⏟
p
↑
⋯
⋯
↑
⏟
⋮
⏟
p
↑
⋯
↑
⏟
p
q
本
q
本
q
本
q
層
}
p
q
層
⏟
r
{\displaystyle {\begin{matrix}p\rightarrow q\rightarrow r\rightarrow 3=\underbrace {p\rightarrow q\rightarrow (p\rightarrow q\rightarrow \cdots (p\rightarrow q\rightarrow (} _{r}1)\underbrace {\rightarrow 2)\cdots \rightarrow 2)} _{r}&=&\\&&\\&&\\&&\\&&\\&&\\&&\\\end{matrix}}\underbrace {\left.{\begin{matrix}p\underbrace {\uparrow \cdots \cdots \cdots \cdots \uparrow } q\\{\scriptstyle p\underbrace {\uparrow \cdots \cdots \uparrow } q{\text{本}}}\\{\scriptstyle \quad ~\vdots ~\quad }\\{\scriptstyle \quad ~\vdots ~\quad }\\{\scriptstyle \underbrace {\quad ~\vdots ~\quad } _{\scriptstyle p\underbrace {\uparrow \cdots \uparrow } _{\scriptstyle p^{q}{\text{本}}}q{\text{本}}}}\end{matrix}}\right\}\left.{\begin{matrix}{\scriptstyle p\underbrace {\uparrow \cdots \cdots \cdots \cdots \uparrow } q{\text{層}}}\\{\scriptscriptstyle p\underbrace {\uparrow \cdots \cdots \uparrow } q{\text{本}}}\\{\scriptscriptstyle \quad ~\vdots ~\quad }\\{\scriptscriptstyle \underbrace {\quad ~\vdots ~\quad } _{\scriptscriptstyle p\underbrace {\uparrow \cdots \uparrow } _{\scriptscriptstyle p^{q}{\text{本}}}q{\text{本}}}}\end{matrix}}\right\}\cdots \left\}{\begin{matrix}{\scriptstyle p\underbrace {\uparrow \cdots \cdots \cdots \cdots \uparrow } _{\scriptscriptstyle p\underbrace {\uparrow \cdots \cdots \uparrow } _{\scriptscriptstyle \underbrace {\quad ~\vdots ~\quad } _{\scriptscriptstyle p\underbrace {\uparrow \cdots \uparrow } _{\scriptscriptstyle p^{q}{\text{本}}}q{\text{本}}}}q{\text{本}}}q{\text{層}}}\end{matrix}}\right\}{\scriptscriptstyle p^{q}{\text{層}}}} _{r}}
アッカーマン関数 はコンウェイのチェーン表記へ置き換えられる:
m > 2の際 A (m , n ) = (2 → (n + 3) → (m − 2)) − 3 (ハイパー演算の角括弧表記 を用いると A (m , n ) = 2 [m ] (n + 3) - 3)
よって
n > 2の際 2 → n → m = A (m + 2,n − 3) + 3
(n = 1 と n = 2 は A (m , −2) = −1 と A (m , −1) = 1に対応し、論理的に加算できる。)
コンウェイとリチャード・K・ガイ に共同制作された単純な単一引数関数は、下記の様に表記法全体にわたって対角化する様定義されていた:
c
g
(
n
)
=
n
→
n
→
n
→
⋯
→
n
→
n
→
n
⏟
長 さ
n
{\displaystyle cg(n)=\underbrace {n\rightarrow n\rightarrow n\rightarrow \dots \rightarrow n\rightarrow n\rightarrow n} _{{\text{長 さ }}n}}
その出力を順に並べると:
cg(1) = 1
cg(2) = 2 → 2 = 22 = 4
cg(3) = 3 → 3 → 3 = 3↑↑↑3 = 3↑↑(3↑↑3)= 3↑↑(3↑(3↑3))= 3↑↑(3↑27)= 3↑↑7625597484987
cg(4) = 4 → 4 → 4 → 4 = 4 → 4 →(4 → 4 →(4 → 4 →(4 → 4)→ 3)→ 3)→ 3 = 4 → 4 →(4 →4 →(4 →4 → 256 →3) →3 ) →3
cg(5) = 5 → 5 → 5 → 5 → 5 = 5 → 5 → 5 →(5 → 5 → 5 →(5 → 5 → 5 →(5 → 5 → 5 →(5 → 5 → 5)→ 4)→ 4)→ 4)→ 4 = 5 → 5 → 5 →(5 → 5 → 5 →(5 → 5 → 5 →(5 → 5 → 5 →(5 → 2 → 6)→ 4)→ 4)→ 4)→ 4
cg(6) = 6 → 6 → 6 → 6 → 6 → 6 = 6 → 6 → 6 → 6 →(6 → 6 → 6 → 6 →(6 → 6 → 6 → 6 →(6 → 6 → 6 → 6 →(6 → 6 → 6 → 6 →(6 → 6 → 6 → 6) → 5) → 5) → 5) → 5) → 5
……………
この関数は予測されるように、とても急速に増大する。
この関数は急増加関数 で
c
g
(
x
)
≈
f
ω
2
(
x
)
{\displaystyle cg(x)\approx f_{\omega ^{2}}(x)}
と近似できる。
このチェーン表記にも、次のような拡張表記が考案されている。
Webデベロッパーで統計学者のピーター・ハーフォードは、2011年 にこの表記法の拡張を定義した。
a
→
b
c
=
a
→
b
−
1
a
→
b
−
1
a
→
b
−
1
⋯
→
b
−
1
a
→
b
−
1
a
→
b
−
1
a
⏟
c
本 の 矢
{\displaystyle 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{ 本 の 矢}}}}
(あくまで
→
b
−
1
{\displaystyle \rightarrow _{b-1}}
が
c
{\displaystyle c}
本、という意味)
a
→
2
(
a
−
1
)
{\displaystyle a\rightarrow _{2}(a-1)}
は既に cg(a) と同等であり、関数
f
(
n
)
=
n
→
n
n
{\displaystyle f(n)=n\rightarrow _{n}n}
は cg(n) よりも大きな増加速度を持つ。
a
→
1
b
{\displaystyle a\rightarrow _{1}b}
=
{\displaystyle =}
a
b
{\displaystyle a^{b}}
a
→
1
b
→
1
n
{\displaystyle a\rightarrow _{1}b\rightarrow _{1}n}
=
{\displaystyle =}
a
↑
n
b
{\displaystyle a\uparrow ^{n}b}
a
→
n
b
→
n
c
⋯
→
n
z
→
n
1
{\displaystyle a\rightarrow _{n}b\rightarrow _{n}c\dots \rightarrow _{n}z\rightarrow _{n}1}
=
{\displaystyle =}
a
→
n
b
→
n
c
⋯
→
n
z
{\displaystyle a\rightarrow _{n}b\rightarrow _{n}c\dots \rightarrow _{n}z}
a
→
n
b
→
n
c
⋯
→
n
z
→
n
1
→
n
…
{\displaystyle a\rightarrow _{n}b\rightarrow _{n}c\dots \rightarrow _{n}z\rightarrow _{n}1\rightarrow _{n}\dots }
=
{\displaystyle =}
a
→
n
b
→
n
c
⋯
→
n
z
{\displaystyle a\rightarrow _{n}b\rightarrow _{n}c\dots \rightarrow _{n}z}
a
→
n
b
→
n
⋯
→
n
y
→
n
z
{\displaystyle a\rightarrow _{n}b\rightarrow _{n}\dots \rightarrow _{n}y\rightarrow _{n}z}
=
{\displaystyle =}
a
→
n
b
→
n
⋯
→
n
(
a
→
n
b
→
n
…
(
y
−
1
)
→
n
z
)
→
n
(
z
−
1
)
{\displaystyle a\rightarrow _{n}b\rightarrow _{n}\dots \rightarrow _{n}(a\rightarrow _{n}b\rightarrow _{n}\dots (y-1)\rightarrow _{n}z)\rightarrow _{n}(z-1)}
a
→
n
b
=
a
→
n
−
1
a
→
n
−
1
⋯
→
n
−
1
a
⏟
長 さ
b
+
1
{\displaystyle a\rightarrow _{n}b=\underbrace {a\rightarrow _{n-1}a\rightarrow _{n-1}\dots \rightarrow _{n-1}a} _{{\text{長 さ}}\ \ b+1}}
この表記は拡張チェーン表記と呼ばれ、同じ拡張チェーン系の回転矢印表記 と同じくらいの強さである。歴史的には、回転矢印表記が先に考案され、後にそれとは独立にこのハーフォードの拡張チェーン表記が考案されたが、現在ではチェーン表記の拡張としてはより定義や記述がすっきりしているこのハーフォード式が標準的となっている。もっとも、拡張チェーン系表記のレベルの巨大数は、巨大数論的に中途半端なポジションということもあり、そのレベルの巨大数を表す場合は拡張チェーン系表記より強力な配列表記 (海外)あるいは多変数アッカーマン関数 (日本)を用いるのが最も主流となっている。
この表記は急増加関数 で
x
→
x
x
≈
f
ω
3
(
x
)
{\displaystyle x\rightarrow _{x}x\approx f_{\omega ^{3}}(x)}
と近似できる。
ちなみに多変数アッカーマン関数 で
x
→
x
x
≈
A
(
1
,
0
,
0
,
0
,
x
)
{\displaystyle x\rightarrow _{x}x\approx A(1,0,0,0,x)}
程度である。
彼は上記以外の規則は変更しなかった。(一つのチェーンにおいては1種類の矢印のみを使用できた。つまりb≠dの際
a
→
b
c
→
d
e
{\displaystyle a\rightarrow _{b}c\rightarrow _{d}e}
は規則違反になる)
もし更に規則を若干訂正し
a
→
b
c
→
d
e
=
a
→
b
c
→
d
−
1
c
→
d
−
1
c
→
d
−
1
⋯
→
d
−
1
c
→
d
−
1
c
→
d
−
1
c
⏟
e
本 の 矢
{\displaystyle 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{ 本 の 矢}}}}
とすると、
a
→
b
c
→
d
e
{\displaystyle a\rightarrow _{b}c\rightarrow _{d}e}
は規則違反では無くなる上に表記法が更に強くなる(あまり意味はない。つまり、本質的に大きくする手段は別にある。)。[ 2]
矢印表記やチェーン表記の拡張版として、クリス・バード (Chris Bird)によって考案された回転矢印表記 というものもある。この表記法ではその矢印の回転を繰り返すことにより、非拡張チェーンを遥かに超える巨大な数が表記可能となる。これは2ch の巨大数スレッドで一時期ある程度使われたことがある。ただしこれは発想こそ単純であるものの、ピーター・ハーフォードの拡張チェーン表記とほぼ同等の増加速度であり、それと比べると若干定義が複雑なことと、配列表記 の方が効率的に数の大きさを爆発させることができることもあり、近年ではこの回転矢印表記が用いられることはほとんどなくなっている。
その他の拡張チェーン系の表記としては、次のようなものが考えられている。
チェーンを角括弧で括り、[a→b]n のように拡張レベルを角括弧の外に書いて、2変数の場合の右側の数bを1つ下のレベルのチェーンのaの個数とするAeton式
更に、ハーフォード式・バード式(回転矢印表記)・Aeton式の三者よりも強力な表記として、
拡張レベルを多変数化して例えば3[3,1,2]3[3,1,2]3などのように書く配列チェーン表記
ハーフォード式と同じように矢印に添字を付ける→n という表記を使いながら、添字が揃っていなくても計算でき、かつレベルの違いを活かして強くした混合チェーン表記
チェーン表記(およびその拡張表記)では、数の大きさを評価するための重要度は次の通りである:
(拡張チェーン系の表記におけるチェーンの拡張レベル>)チェーンの長さ>末尾の変数>末尾から2番目の変数>それ以外の変数
チェーン表記(およびその拡張表記)では、どの変数の値が増えても厳密には数は増えるものの、特に5つ組以上のチェーンでは、末尾の2つ以外の変数の値が増えても巨大数として無視できるレベルの増加にしかならない。また末尾の変数が巨大数レベルになれば、末尾から2番目の変数の値が増えても巨大数として無視できるレベルの増加にしかならない。
ふぃっしゅ数バージョン1はCG関数でCG(グラハム数 )、つまり
G
→
G
→
⋯
→
G
⏟
グ ラ ハ ム 数 個 の G
{\displaystyle \underbrace {G\rightarrow G\rightarrow \dots \rightarrow G} _{\text{グ ラ ハ ム 数 個 の G}}}
より遥かに大きい。ふぃっしゅ数バージョン1はピーター・ハーフォードの拡張チェーン表記による近似で≒5→2 64→2 2、ふぃっしゅ数バージョン2は同表記による近似で≒3→64 3→64 2程度の大きさとなる。このようにふぃっしゅ数はバージョン1とバージョン2までは、拡張チェーン系の表記の範囲で近似可能であるが、バージョン3以上になるとそのレベルをも遥かに本質的に超えてしまう。
チェーン表記とは異なった規則により、チェーン表記(およびその拡張表記)よりも効率的に数の大きさを爆発させることができる表記として、配列表記 があり、それにも拡張表記が考案されており、その最終形態にはBEAF とバードの配列表記 がある。具体的には、チェーン表記で表される数は多変数アッカーマン関数では3変数程度で配列表記では4変数程度、ピーター・ハーフォードの拡張チェーン表記(あるいはクリス・バードの回転矢印表記)で表される数は多変数アッカーマン関数では4変数程度で配列表記では5変数程度のレベルとなる。チェーン表記およびその拡張表記と配列表記との比較(近似・大小関係)については配列表記#チェーン表記との比較 および回転矢印表記#他表記との比較 を参照のこと。
BEAFの配列表記は多変数アッカーマン関数 と同じくらいの増加速度を持ち、BEAFそのものはさらに大きい増加速度を持つ(テトレーション配列 など)。