バードの配列表記

バードの配列表記（バードのはいれつひょうき）とは、クリス・バード（英:Chris Bird）によって考案された巨大数の表記法である。これはBEAFの拡張配列表記の拡張で、歴史的にも定義的にもBEAFと同族である。
線形配列.
線形配列では、バードの配列表記はBEAFと同じである。
Rule 1-1.formula_1
Rule 1-2.formula_2
Rule 2.formula_3
Rule 3.formula_4
Rule 4.formula_5
Rule 5.formula_6
ただしformula_7は配列の変わらない部分を指す。
線形配列では、急増加関数でformula_8と近似される。
多次元配列.
多次元配列では、配列の一部をformula_9と表記する。線形配列と同様、BEAFと同じである。
Rule A1.formula_10
Rule A2.formula_11
Rule A3.formula_12
Rule M1.formula_2
Rule M2.formula_14（これは上記のRule 2も含む）
Rule M3.formula_4
Rule M4.formula_16
Rule M5.formula_17
Rule M6.formula_5
Rule M7.formula_6
この配列はformula_20を次元セパレータとして用いている。
超次元配列.
超次元配列では、括弧がformula_21のようになる。Rule M1~M7は、formula_22をformula_23に置き換えること以外は同じで、Rule A3はRule A5となり、新しいRule A3とRule A4が追加される。
Rule A3.formula_24
AnとBは配列で、Ai-1 は Ai の最初の引数から1を引いて、残りは等しい配列である。
二つのセパレータの順序付け.
Rule A3とRule M2はよく似ているため、どのセパレーターがより高いランクなのか決定する必要がある。最初に、配列が何重にネストされたかを表す関数をformula_25と表記する。例えば、formula_26とすると、formula_27となる。つまりformula_28はformula_29にネストされていて、それもformula_30にネストされている。もう一つの関数、formula_31を、配列formula_32中のセパレータformula_33の個数と定義する。例えば、formula_34 なら、 formula_35。
formula_36とformula_37のどちらが優位なのかを決定する方法は、次のように表現される。
超ネスト配列.
逆斜線配列.
ネスト配列表記の先に進むために、Bird は特殊なセパレータ[1\c]を定義した。
この表記は、[1 [2] 2 \ 2] や [1 [1 \ 2] 2 \ 2]のように逆斜線の前に配列を書くことができる。角括弧なしで逆斜線を配置は出来ない。例えば、{3, 3 \ 2}は、間違っている。
Birdはの表記法を逆斜線1つだけではなく、2つ以上、さらには逆斜線配列にも適用できるようにした。彼は[A]\を逆斜線配列Aとした。新しい規則を次のように定義した。
この表記の限界はフェファーマン・シュッテの順序数まで達する。
ネストされた超ネスト配列.
2-ハイパーセパレータ.
この先に進むためには、逆斜線配列のどのセパレータよりも強力なセパレータが必要となる。彼の書いた「Beyond Bird's Nested Arrays I」の中で、彼は前斜線を次のように使うことを提案した。
\(\{a,b [1 / 2] 2\} = \{a \langle 0 / 2 \rangle b\} = \{a \langle b \langle b \langle b \cdots b \langle b \rangle\backslash b \cdots b \rangle\backslash b \rangle\backslash b \rangle b\}\) (中心から右にb個のb、 そしてb-2個の逆斜線が挟まれる)
つぎに、Birdは[A]\を\([A \neg 2]\)と書き換え、前斜線を\([1 \neg 3]\)と書き換えることができるとした。だが、（この他の用途を考えると）\([1 \neg 3]\) を次のように定義する方がもっと使いやすい。
\(\{a,b [1 [1 \neg 3] 2] 2\} = \{a \langle 0 [1 \neg 3] \rangle b\} = \{a \langle b \langle b \langle b \cdots b \langle b \rangle\backslash b \rangle\backslash b \cdots b \rangle b \rangle b \rangle b\}\) (中心から右にb+1個のb、そしてb-1この逆斜線が挟まれる)
そして、 \([A \neg 3]\) を \([1 \neg 3]\) と同様に \([1 A \neg 3]\)とする。 逆斜線は\([1 \neg 2]\) である。
\(\neg 3\) で作られる配列を \([1 \neg 4]\)ともあらわす。 \([1 \neg n]\) を一般化するのは難しいことではない:
\(\{a,b [1 [1 \neg n] 2] 2\} = \{a \langle 0 [1 \neg n] \rangle b\} = \{a \langle b \langle b \langle b \cdots b \langle b \neg n-1\rangle b \neg n-1\rangle b \cdots b \neg n-1\rangle b \neg n-1\rangle b \rangle b\}\) (中心から右にb+1個のb、b-1個の\(\neg n-1\)が挟まれる)
一般化するため、 \([A \neg n]\)の定義を作らないといけない。 メインの規則は変える必要はなく、 山かっこ表記の規則は変える必要がある。
この表記の強さは \(\theta(\Omega^\omega)\)で、 小ヴェブレン順序数まで到達する。
2-ハイパーセパレータ配列.
\(\{a \langle 0 [1 \neg 1,2] 2 \rangle b\} = \{a \langle b [b \neg b] b \rangle b\}\) と定義する。 これは、\(\{a,b [1 \backslash 1, 2] 2\} = \{a \langle b \backslash b \rangle b\}\)とよくにている。これは\(\theta(\Omega^\omega)\)再帰関数である。これを一般化するために、Rule A2を定義し直す。
ここで、二つの#は同じとは限らない。これらの列の極限は大ヴェブレン順序数に達する。