配列表記
配列表記(はいれつひょうき、Array Notation)は、Jonathan Bowersが2002年に考案した巨大数の表記法の一つである。クヌースの矢印表記の拡張によるが、クヌースの矢印表記はおろか、コンウェイのチェーン表記やその拡張表記(ピーター・ハーフォードによる拡張チェーン表記・回転矢印表記)よりも効率的に数の大きさを爆発させることができるため、海外の巨大数論者の間ではチェーン表記レベルを超える巨大数の表記法の主流となっている。
配列表記では、波括弧の中に数字をコンマで区切り入れていく。すなわち、\{a,b,c,...\}という形式である。
配列表記の規則は次の通りである。
1つ組の場合は\{a\}=a、2つ組の場合は\{a,b\}=a^bとなる。
最後の数字が1の時はこれを落とせる。\{a,b,c,...,y,z,1\}=\{a,b,c,...,y,z\}
2番目の数字が1の時はそれ以降を全て落とせる。\{a,1,b,c,...,y,z\}=\{a\}=a
ここまではチェーン表記と同じだが、ここからが異なり、これが効率良く爆発させることができる要因となっている。
3番目の数字が1の時であるが、チェーン表記のようにそれ以降を全て落とすのではなく、式で表すと次のようになる。
\{a,b,1,...(n\text{個 の 1})...,1,c,...,y,z\}=
\{a,a,...(n+1\text{個 の }a)...,a,\{a,b-1,1,...(n\text{個 の 1})...,1,c,...,y,z\},c-1,...,y,z\}
つまり、2番目の要素は先頭の要素に置き換わり、3番目以降に連続する1のうち最も右側のもの以外は全て先頭の要素に置き換わり、その最も右側のものは元の配列表記の2番目の要素を1引いた配列に置き換わり、その次の要素の値が1減るという、複雑な規則で変形する。
これは4番目以降の数字を減らす唯一のルールである。
上のいずれでもない時、次のように変形する。
\{a,b,c,...,y,z\}=\{a,\{a,b-1,c,...,y,z\},c-1,...,y,z\} つまり、2番目の要素に元の配列の2番目の要素を1引いた配列を入れ、3番目の要素から1を引く。
チェーン表記が右側から変形していくのに対し、こちらは左側から変形していく。
なお、4番目以降の数字が1の時も、こちらの変形を適用する。
3つ組の配列表記は、3つ組チェーンと一致し、したがってクヌースの矢印表記とも一致するという性質がある。すなわち式で書くと\{a,b,c\}=a\rightarrow b \rightarrow c=a \uparrow^cbとなる。
4つ組以上の配列表記によって巨大数を記述する場合は、先頭の要素は3以上とする必要がある。なぜなら、先頭が1であれば、その値は1となり、4つ組以上の配列表記で先頭の要素が2であれば、その値は2番目の要素が1でない限り必ず4になってしまうからである。後者の詳細は次の通りである:
{2,b,c,d,…,z}
={2,{2,b-1,c,d,…, z},c-1,d,…,z}
=…
={2,X,1,d,…,z} (Xはある数)
={2,2,{2,X-1,1,d,…,z},d-1,…,z}
={2,2,Y,d-1,…,z} (内側の配列をYと置く)
={2,{2,1,Y,d-1,…,z},Y-1,d-1,…,z}
={2,2,Y-1,d-1,…,z}
={2,2,Y-2,d-1,…,z}
={2,2,1,d-1,…,z}
={2,2,1,1,…,z}
={2,2,1,1,…,1}
={2,2}
=4
つまり、3番目の要素が1まで落ちた直後に2番目の要素が2になってしまい、そうすると3番目の要素が減っても値が変わらないため3番目の要素が1にまで落ちる。更に4番目、5番目の要素と1まで落ちていき、最終的には4となる。
非拡張配列表記では、数の大きさを評価するための重要度は、最も重要なのが変数の数であり、その次に重要なのが最も右側の変数の値で、左側に行くほど重要度が下がっていく。
非拡張配列表記は、多変数アッカーマン関数と同じくらいの強さである。配列表記と多変数アッカーマン関数の間の近似関係、及びその両者の特徴の比較についてはアッカーマン関数#多変数アッカーマン関数を参照。
この配列表記にも拡張表記が考案されており、その最終形態には2種類あり、1つはBEAF(ただし2021年現在、定義が数学的に意味を持つように定式化されているのはテトレーション配列まで)、もう1つはクリス・バードが開発したバードの配列表記と呼ばれるものである。
この配列表記は急増加関数で\{x,...,x\}\approx f_{\omega^{\omega}(x)と近似できる。
4つ組の配列表記による巨大数は、コンウェイのチェーン表記レベルの巨大数となり、5つ組の配列表記による巨大数は、ピーター・ハーフォードによる拡張チェーン表記(あるいは回転矢印表記)レベルの巨大数となり、6つ組以上になるとそのレベルを超える。
a→a→(b-1)→2<{a,b,1,2}<≒a→a→b→2
{a,b,1,2}とa→a→b→2の両者は矢印表記の段重ねの形にすると、a↑↑…↑↑aのb段重ねの形になるところは同じだが、末端は配列表記だとaとなるのに対し、チェーン表記だとaaとなる。
a→b→c→2については、配列表記で次の近似・大小関係が成り立つ。
{a,c,1,2}<≒a→b→c→2<≒{ab,c,1,2}
次に{a,b,2,2}とa→b→c→3であるが、配列表記では最後の2が3になるのではなく、3番目の1が2になることによってチェーンの…→3相当となる。
a→a→(b-1)→3<{a,b,2,2}<≒a→a→b→3
{a,c,2,2}<≒a→b→c→3<≒{ab,c,2,2}
{a,b,c,2}のcを増やすことは、a→a→b→cのcを増やすことに相当する。
a→a→(b-1)→(c+1)<{a,b,c,2}<≒a→a→b→(c+1)
{a,c,d-1,2}<≒a→b→c→d<≒{ab,c,d-1,2}
そして、4つ組配列表記の末尾の数が、チェーンの長さに対応する。
{a,b,1,3}<≒a→a→a→b→2
{a,b,c,3}<≒a→a→a→b→(c+1)
{a,b,c,d}<≒a→a→…(d+2変数)…→a→b→(c+1)
ここでは、ピーター・ハーフォードによる拡張チェーン表記を示す。回転矢印表記との比較については回転矢印表記#他表記との比較を参照。
{a,a,a-1,b-1}<≒a→2b
{a,b,1,1,2}<≒a→2b→22
{a,b,2,1,2}<≒a→2b→23
{a,b,c,1,2}<≒a→2b→2(c+1)
{a,b,1,2,2}<≒a→2a→2b→22
{a,b,2,2,2}<≒a→2a→2b→23
{a,b,c,2,2}<≒a→2a→2b→2(c+1)
{a,b,1,3,2}<≒a→2a→2a→2b→22
{a,b,c,3,2}<≒a→2a→2a→2b→2(c+1)
{a,b,c,d,2}<≒a→2a→2…(d+2変数)…→2a→2b→2(c+1)
{a,a,a-1,b-1,2}<≒a→3b
{a,b,1,1,3}<≒a→3b→32
{a,b,c,d,e}<≒a→ea→e…(d+2変数)…→ea→eb→e(c+1)
この表記法では、巨大数の近似の例は次のようになる。
グラハム数≒{4,65,1,2}
コンウェイのテトラトリ(チェーン表記で3→3→3→3)≒{27,3,2,2}
ふぃっしゅ数バージョン1≒{4,64,1,1,2}
ふぃっしゅ数バージョン2≒{3,3,1,1,64}
{3,3,2,2,1,2}<旧バード数<{4,3,2,2,1,2}
また非拡張配列表記で定義され、名前が付けられた数としては、テトラトリ、スーパーテット、ジェネラル、ペンタトリ、スーパーペント、ヘキサトリ、クワドリーゴル、イテラルなどがある。