バードの配列表記（バードのはいれつひょうき）とは、クリス・バード（英:Chris Bird）によって考案された巨大数の表記法である。これはBEAFの拡張配列表記の拡張で、歴史的にも定義的にもBEAFと同族である。

線形配列 
線形配列では、バードの配列表記はBEAFと同じである。

Rule 1-1.

Rule 1-2.

Rule 2.

Rule 3.

Rule 4.

Rule 5.

ただしは配列の変わらない部分を指す。

線形配列では、急増加関数でと近似される。

多次元配列 
多次元配列では、配列の一部をと表記する。線形配列と同様、BEAFと同じである。

Rule A1.

Rule A2.

Rule A3.

Rule M1.

Rule M2.（これは上記のRule 2も含む）

Rule M3.

Rule M4.

Rule M5.

Rule M6.

Rule M7.

この配列はを次元セパレータとして用いている。

超次元配列 
超次元配列では、括弧がのようになる。Rule M1~M7は、をに置き換えること以外は同じで、Rule A3はRule A5となり、新しいRule A3とRule A4が追加される。

Rule A3.

Rule A4.

AnとBは配列で、Ai-1 は Ai の最初の引数から1を引いて、残りは等しい配列である。

二つのセパレータの順序付け 
Rule A3とRule M2はよく似ているため、どのセパレーターがより高いランクなのか決定する必要がある。最初に、配列が何重にネストされたかを表す関数をと表記する。例えば、とすると、となる。つまりはにネストされていて、それもにネストされている。もう一つの関数、を、配列中のセパレータの個数と定義する。例えば、 なら、 。

とのどちらが優位なのかを決定する方法は、次のように表現される。

 Step 1. とする。
 Step 2.もしなら、、 なら、とする。 もしなら、Step 3へ、それ以外はStep 6へ。
 Step 3.とをそれぞれ配列との最高位のセパレータとする。 もしなら、なら、それ以外はとしStep 4へ。
 Step 4.もしなら、、なら、、それ以外はStep 5へ。
 Step 5. 文字列とから、のセパレータとその前の引数を削除する。
 Step 6.これまでのルールで、とはと(とは単一の整数)の形になっているはずである。 もしなら、なら、 それ以外はStep 7へ。
 Step 7.との最後の引数とその前のセパレータをすべて消去する。もしとがどちらも空ならば、 それ以外はStep 2に戻る。

超ネスト配列

逆斜線配列 
ネスト配列表記の先に進むために、Bird は特殊なセパレータ[1\c]を定義した。

 \(\{a,b [1 \backslash c] 2\} = \{a \langle 0 \backslash c \rangle b\} = \{a \langle b \langle b \langle b \langle \cdots b \langle b \rangle b \cdots \rangle b \backslash c-1 \rangle b \backslash c-1 \rangle b \backslash c-1 \rangle b\}\) (中心から右に向かってb個のb).
 \(\{a,b [A \backslash 1] 2\} = \{a,b [A] 2\}\) (Aは任意の配列)

この表記は、[1 [2] 2 \ 2] や [1 [1 \ 2] 2 \ 2]のように逆斜線の前に配列を書くことができる。角括弧なしで逆斜線を配置は出来ない。例えば、{3, 3 \ 2}は、間違っている。

Birdはの表記法を逆斜線1つだけではなく、2つ以上、さらには逆斜線配列にも適用できるようにした。彼は[A]\を逆斜線配列Aとした。新しい規則を次のように定義した。

 Rule B1. 逆斜線次元が0か1ならば:
 \('a \langle 0 \rangle\backslash b' = 'a'\)
 \('a \langle 1 \rangle\backslash b' = 'a \backslash a \backslash \cdots \backslash a \backslash a'\) (with b a's)

 Rule B2. 最初のゼロでない引数が逆斜線に先立っているなら:
 \('a \langle 0 [A_1]\backslash 1 [A_2]\backslash \cdots 1 [A_n]\backslash 1 \backslash c \# \rangle b'\) \(= 'a \langle b \langle A_1' \rangle\backslash b [A_1]\backslash b \langle A_2' \rangle\backslash b [A_2]\backslash \cdots b \langle A_n' \rangle\backslash b [A_n]\backslash R_{b-1} \backslash c-1 \# \rangle b'\)
 \(R_n = 'b \langle b \langle A_1' \rangle b [A_1]\backslash b \langle A_2' \rangle b [A_2]\backslash \cdots b \langle A_n' \rangle\backslash b [A_n]\backslash R_{n-1} \backslash c-1 \# \rangle b'\)
 \(R_1 = 'b'\)

 Rule B3. それ以外は:
 \('a \langle 0 [A_1]\backslash 1 [A_2]\backslash \cdots 1 [A_n]\backslash 1 [B_1] 1 [B_2] \cdots 1 [B_n] c \# \rangle b'\) \(= 'a \langle b \langle A_1' \rangle\backslash b [A_1]\backslash b \langle A_2' \rangle\backslash [A_2]\backslash \cdots b \langle A_n' \rangle\backslash [A_n]\backslash b \langle B_1' \rangle b [B_1] b \langle B_2' \rangle b [B_2] \cdots b \langle B_n' \rangle b [B_n] c-1 \# \rangle b\)

この表記の限界はフェファーマン・シュッテの順序数まで達する。

ネストされた超ネスト配列

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]\)の定義を作らないといけない。 メインの規則は変える必要はなく、 山かっこ表記の規則は変える必要がある。

 Rule A1. 山括弧中の数字が0なら:
 \(\textrm`a \langle 0 \rangle b\textrm' = \textrm`a\textrm'\)
 Rule A2. b = 1なら:
 \(\textrm`a \langle A \rangle 1\textrm' = \textrm`a\textrm'\)
 Rule A3. [A] < [B]なら:
 \(\textrm`a \langle\# [A] 1 [B] \#\rangle b\textrm' = \textrm`a \langle\# [B] \#\rangle b\textrm'\)
 Rule A4. 最初の引数が0でcが \([1 \neg n]\(n>1)の形で表されない通常のセパレータのすぐ後にあるなら:
 \(\textrm`a \langle 0 [A_1] 1 [A_2] \cdots 1 [A_m] c \# \rangle b\textrm' = \textrm`a \langle b \langle A_1-1 \rangle b [A_1] b \langle A_2-1 \rangle b [A_2] \cdots b \langle A_m-1 \rangle b [A_m] c-1 \# \rangle b\textrm'\)
 Rule A5.最初の引数が0でcが逆斜線のすぐあとにあるなら:
 \(\textrm`a \langle 0 [A_1] 1 [A_2] \cdots 1 [A_m] 1 \backslash c \# \rangle b\textrm' = \textrm`a \langle b \langle A_1-1 \rangle b [A_1] b \langle A_2-1 \rangle b [A_2] \cdots b \langle A_m-1 \rangle b [A_m] b \langle R_b \rangle b \backslash c-1 \# \rangle b\textrm'\)
 \(R_n = \textrm`b \langle A_1-1 \rangle b [A_1] b \langle A_2-1 \rangle b [A_2] \cdots b \langle A_m-1 \rangle b [A_m] b \langle R_{n-1} \rangle b \backslash c-1 \# \rangle b\textrm'\) (n>1)
 \(R_1 = \textrm`0\textrm'\)
 Rule A6. もし最初の引数が0で c が\([1 \neg n]\) (n > 2)のすぐ後にあるなら:
 \(\textrm`a \langle 0 [A_1] 1 [A_2] \cdots 1 [A_m] 1 [1 \neg n] c \# \rangle b\textrm' = \textrm`a \langle b \langle A_1-1 \rangle b [A_1] b \langle A_2-1 \rangle b [A_2] \cdots b \langle A_m-1 \rangle b [A_m] b \langle R \rangle b [1 \neg n] c-1 \# \rangle b\textrm'\)
 \(R = \textrm`b \langle A_1-1 \rangle b [A_1] b \langle A_2-1 \rangle b [A_2] \cdots b \langle A_m-1 \rangle b [A_m] R_b [1 \neg n] c-1 \# \rangle b\textrm'\)
 \(R_n = \textrm`b \langle A_1-1 \rangle b [A_1] b \langle A_2-1 \rangle b [A_2] \cdots b \langle A_m-1 \rangle b [A_m] b \langle R_{b-1} \rangle b [1 \neg n] c-1 \# \neg n-1 \rangle b\textrm'\) (n>1)
 \(R_1 = \textrm`0\textrm'\)
 Rule A7. それ以外は:
 \(\textrm`a \langle c \# \rangle b\textrm' = \textrm`a \langle c-1 \# \rangle b [c] a \langle c \# \rangle b-1\textrm'\).

この表記の強さは \(\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を定義し直す。

 Rule A2. 角括弧中に、セパレータのすぐ後に1がある時、
 Case 1. 1は最後にあり、セパレータの後。
 \(\textrm`a \langle \# [ A ] 1 \rangle b\textrm' = \textrm`a \langle \# \rangle b\textrm'\)
 Case 2 1はセパレータと\(\neg\)に挟まれている。
 \(\textrm`a \langle \# [ A ] 1 \neg n \rangle b\textrm' = \textrm`a \langle \# \neg n \rangle b\textrm'\)
 Case 3 1は\(\neg\)のすぐ後。
 \(\textrm`a \langle \# \neg 1 \rangle b\textrm' = \textrm`a \langle \# \rangle b\textrm'\)
 次に、[A]と[B]を、[A]を[B]より低位、または[B]のみがハイパーセパレータという組とする。
 Case 4 1はAとBに挟まれており、最後に\(\neg n\) の形の物はない。
 \(\textrm`a \langle \# [ A ] 1 [ B ] \# \rangle b\textrm' = \textrm`a \langle \# [B] \# \rangle b\textrm'\)
 Case 5 その他。
 \(\textrm`a \langle \# [ A ] 1 [ B ] \# \neg n \rangle b\textrm' = \textrm`a \langle \# [B] \# \neg n \rangle b\textrm'\)

ここで、二つの#は同じとは限らない。これらの列の極限は大ヴェブレン順序数に達する。