ドル関数 (Dollar function) は、2013年に Wythagoras が考案した関数である[1]。
角括弧表記
角括弧表記 (Bracket notation) は、ハーディー階層とヒドラゲームと同様の働きをして、急増加関数で \(f_{\varepsilon_0}(n)\) 程度の増加速度である。
定義
\(\bullet\) は何でも良い。
\(\circ\) は角括弧のグループである。
- $ の後ろに何もなければ、配列の計算は終了する。配列の値は、$ の直前の数字である。(\(a\$ = a\))
- \(a\$b\bullet=(a+b)\$\bullet\)
- \(a\$\circ[0]\bullet\circ\bullet=a\$\circ a\bullet\circ\bullet\)
- \([\bullet b]_{\bullet} = [\bullet b-1]_{\bullet}[\bullet b-1]_{\bullet}...[\bullet b-1]_{\bullet}[\bullet b-1]_{\bullet}\) (a 個の \(\bullet\)) (下付き文字は、さらなる拡張で使う)
- 角括弧の中に 0 と 0 以外の要素がある時には、0 を取り除くことができる。
アクティブな角括弧の見つけ方
- 右から左へ向かって数字を探す。
- 数字が見つかったら、止まる。その数字がアクティブな数字で、その数字の右にある角括弧が、アクティブな角括弧である。
解析
\(a\$[0] = f_1(a)\)
\(a\$[1] = f_2(a)\)
\(a\$[b] = f_{b+1}(a)\)
\(a\$[[0]] > f_{\omega}(a)\)
\(a\$[1[0]] > f_{\omega+1}(a)\)
\(a\$[[0][0]] > f_{\omega2}(a)\)
\(a\$[[1]] > f_{\omega^2}(a)\)
\(a\$[[b]c] > f_{\omega^b+c}(a)\)
\(a\$[[[0]]] > f_{\omega^\omega}(a)\)
\(a\$[[[b]c]d] > f_{\omega^{\omega^b+c}+d}(a)\)
\(a\$[[[[0]]]] > f_{\omega^{\omega^\omega}}(a)\)
\(a\$[[0]_2] = [[...[[0]]...]] \approx f_{\varepsilon_0}(a)\)
拡張角括弧表記
拡張角括弧表記 (Extended Bracket notation) は、拡張されたブーフホルツのヒドラと同様の働きをして、\(f_{\psi_0(\Omega_{\Omega_{...}})}(n)\) 程度の増加速度である。
定義
Scan from the right to the left until you find a number. That number is the active number, also scan in levels if you come across them. \(\bullet\) は何でも良い。
- \(a\$ = a\)
- \(a\$\bullet b = a+b\$\bullet\)
- \([\bullet b]_{\bullet_2} = [\bullet b-1]_{\bullet_2}[\bullet b-1]_{\bullet_2}...[\bullet b-1]_{\bullet_2}[\bullet b-1]_{\bullet_2}\) with a pairs of brackets.
- \(\bullet 0 = \bullet\) (ただし \(\bullet\) は空でない)
- \([0] = a\)
- \([[0]_{\bullet b}\bullet_2]_{\bullet b-1} = [[[[...[[0]\bullet_2]_{\bullet b-1}...\bullet_2]_{\bullet b-1}\bullet_2]_{\bullet b-1}\bullet_2]_{\bullet b-1}\bullet_2]_{\bullet b-1}\) with a+1 pairs of brackets in total and if there isn't a bracket with level \(\bullet b-1\), add it, directly enclosing the \([0]_{\bullet b}\) bracket.
例
\(a\$[[0]_2] = a\$[[..[[0]]..]]\) a+1 nests
\(a\$[[0]_2[0]] = a\$[[0]_2a] = a\$[[0]_2a-1][[0]_2a-1]...[[0]_2a-1][[0]_2a-1]\) a brackets
\(a\$[[[0]_2]][0]_2] = a\$[[[..[[0]]..]][0]_2]\) a+1 nests
\(a\$[[0]_2[0]_2] = a\$[[[[...][0]_2][0]_2][0]_2]\) a nests
\(a\$[[1]_2] = a\$[[0]_2[0]_2...[0]_2[0]_2]\) a brackets
\(a\$[[[0]_2]_2]] = a\$[[[[[...]_2]]]_2]]]_2]]\) a nests
\(a\$[[0]_3] = a\$[[[0]_3]_2] = a\$[[..[[0]_2]_2..]_2]_2]\) a nests
解析
詳しい解析は、作者による解析を参照。
線形配列表記
線形配列表記 (Linear Array Notation) は、 \(f_{{\psi}({\Psi}_{\Xi({\omega},0)}(0))}(n)\) 程度の増加速度であると主張されている。ただし、この\(\psi\)はなんの\(\psi\)であるか不明である。
さらなる拡張
さらに、以下のように拡張が続けられる。
- 拡張配列表記(Extended Array Notation)
- 高次元配列表記(Dimensional Array Notation)
- ネスト配列表記(Nested Array Notation)