東方巨大数4で出そうとしていたネタ
共通事項
- 「計算法」のrule1、rule2、rule3...は上から順に適用可能か判断する。(「if」としか書いてないが、意味的にはelseif文である。)
(多変数関数の反復に使う。なお、第4β超限行列のみ記号被りのため
の代わりに
を用いる。)
- 数値は桁数に関わらず1文字として数える。
第4準ヒドラシステム
概要
ラベル付き角括弧と非負整数を使った「有限ラベル付き準ヒドラ」シリーズの一つで、ラベルだけでなく木構造そのものに大小関係を定めて比較するのが特徴。
東巨1の後に没ネタとして「2層ヒドラ」という名前で構想を公開し、東巨2で「Y関数」としてエントリーするも無効となったものの完成形。
表記
、
、
...
:
の要素
:自然数
正規形:
メモ
正規形にはのような「変な」文字列も含まれ、そういったものの中には計算規則が適用できないものも含まれる。しかし、後述の第4準ヒドラ数の計算ではそのような文字列は現れない。(と思う)
サブルール
N
部分列
※は空文字列
左ペア
メモ
が右括弧のとき、
は対応する左括弧を表す。
右ペア
メモ
が左括弧のとき、
は対応する右括弧を表す。
ラベル
親
メモ
が右括弧または数字のとき、
は
の親を表す。
が右括弧または数字のとき、
は
の直系先祖かつラベルが
であるものを表す。
家族
メモ
が右括弧または数字のとき、F(A,b,d)は「
の親」から「ラベルが
であるような、
の直系先祖」までの文字列を表す。
端
計算法
:空文字列
rule1:
rule2:
rule3:
rule4:
rule5:
rule6:
計算例
rule1
rule2
rule3
rule4
rule5
rule6
"]
評価
解説
rule1
終了規則
rule2
ハーディー階層型の増加規則
rule3、rule4

実質同じ規則だが0を消すためだけに分けた。
rule5
ここまでは有限ラベル付き準ヒドラシリーズの共通ルール。
この図描いてたら数字項の存在意義がほとんど無いことに気付いた。
rule6
面倒なので実際のルールと計算例を無視して、構想通りの展開を説明する。(定義通りの展開と一致しなかった場合、多分こっちが正しい。)

まず、「右端の頂点の直系先祖で、ラベルが右端より1小さい頂点」で木を区切る。
上から順に、右端の頂点を含む木と大小比較して小さい木を探す。
小さい木が見つかったら、その小さい木の直後(右上)から左端の直前までの範囲をコピーする。
変則拡張第4配列システム
概要
ネスト構造のある配列システムにラベル構造を組み合わせることでバシク行列そっくりな挙動をすることを発見したので、自作の配列系システムである第4配列システムにねじ込んだもの。
見た目が東巨1に投稿した「幻想配列システム」に似ているが、全く無関係。
サブルール
N
部分列
※は空文字列
左ペア
メモ
が右括弧のとき、
は対応する左括弧を表す。
右ペア
メモ
が左括弧のとき、
は対応する右括弧を表す。
ラベル
親
※が存在しなければ
とする。
メモ
が右括弧、数字、カンマのどれかのとき、
は
の親を表す。
が右括弧のとき、
は
の直系先祖かつラベルが
より小さいものを表す。
位置
が右括弧か数字のとき、
は「
よりラベルが小さい直系先祖」の右から
番目の直系子孫である。
開始点
レベルアップ
計算法
rule1:
rule2:
rule3:
rule4:
rule5:
rule6:
命名
変則拡張第4配列数
メモ
第4準ヒドラでは右括弧の左にある0を消去するようにしていたが、消去しないほうが定義が簡潔になることに気付いたのでこのシステムでは消さないようにした。第4準ヒドラも同様に簡略化できるが、修正が面倒だったので放置することにした。
計算例
rule1
rule2
rule3
rule4
rule5
rule6
評価
※括弧の右の0を省略。\[\]
例:→
解説
rule1
終了規則。「右括弧の右にある数値を消さない」というルール変更により第4準ヒドラと異なる書き方になった。
rule2
ハーディー階層型の増加規則。0を消さずに残す。
rule3
第4準ヒドラのrule3、4とほぼ同じ。
rule4
第4準ヒドラのrule5。
rule5
が0なら、ラベルが小さい直系先祖までをコピーする。(
とその親の配列は消す)
第3準ヒドラと同じ。
rule6
まず、の親のpos値が
のpos値より小さいかどうかを調べる。
pos値が小さかったら、まず「「の直系先祖で、
の親よりラベルが小さいもの」のうち最も右側にあるもの」を
とする。(
は実際の定義文中での
に対応する)
次に、の子で一番右側にある右括弧を
とし、「右ペアが
の子であるような左括弧のうち最も左側にあるもの」を
とする。
そして、から
までを複製範囲とする。
複製範囲の全ての右括弧に対して、ラベルが小さい直系先祖を辿ってに辿り着けるかどうかを調べる。
と
の親のラベルの差を
とし、
の値を1減らし、さっきの探索で
に辿り着けた右括弧に
を足しながら複製範囲を複製する。
ここまでの説明は、の定義における
の場合に相当する。
の親のpos値が
のpos値より小さくなかった場合は、ラベルが小さい直系先祖を辿ってpos値が
の親より小さい右括弧を探す。
見つかった右括弧の直系先祖かつラベルが小さいもののうち最も右側にあるものをとする。あとは最初の例と同じ。
第4β超限行列システム
表記
:非負整数
正規形:
を満たす
が存在するとき、
を
と略記してもよいとする。
サブルール
親
メモ
BMで使うやつと同じ。
子孫
メモ
は
の
番目の子孫の位置を表す。
は
とその子孫全体を表す。
大小比較
左から階差を比較して、小さい値が出るか端に到達したらその列は小さい。
計算法
:零ベクトル
rule1:
rule2:
rule3:
命名
]
第4β超限行列数
計算例
rule1
(0,0,0)[2]=3
rule2
(0,0,0)(1,1,1)(0,0,0)[2]=(0,0,0)(1,1,1)[3]
rule3
(0)(1,1)(0)(1)(0)(1)(2)(2)[2]
(0)(1,1)(0)(1)(0)(1)(2)(2)[2]
=(0)(1,1)(0)(1)(0)(1)(2)(1,1,1)(2,1,1)(3,1,1)(2,2,2)(3,2,2)(4,2,2)[2]
評価
- (0)(1)=|(0)|(0)|(0)|...=B(0)(1)
- (0)(1)(0)(1)=(0)(1)|(0)|(0)|(0)|...=B(0)(1)(0)(1)
- (0)(1)(1)=|(0)(1)|(0)(1)|(0)(1)|...=B(0)(1)(1)
- (0)(1)(1)(0)(1)(0)(1)(1)=(0)(1)(1)(0)(1)|(0)(1)|(0)(1)|(0)(1)|...=B(0)(1)(1)(0)(1)(1)
- (0)(1)(1)(0)(1)(1)=|(0)(1)(1)(0)(1)|(0)(1)(1)(0)(1)|(0)(1)(1)(0)(1)|...=B(0)(1)(2)
- (0)(1)(1)(1)=B(0)(1)(2)(3)
- (0)(1)(2)=(0)|(1)|(1)|(1)|...=B(0,0)(1,1)
- (0)(1)(2)(0)(1)(0)(1)(2)=(0)(1)(2)(0)(1)(0)|(1)|(1)|(1)|...=B(0,0)(1,1)(0,0)(1,1)
- (0)(1)(2)(0)(1)(1)=|(0)(1)(2)(0)(1)|(0)(1)(2)(0)(1)|(0)(1)(2)(0)(1)|...=B(0,0)(1,1)(1,0)
- (0)(1)(2)(0)(1)(1)(0)(1)(1)(1)=B(0,0)(1,1)(1,0)(2,0)
- (0)(1)(2)(0)(1)(1)(0)(1)(2)=B(0,0)(1,1)(1,0)(2,1)
- (0)(1)(2)(0)(1)(1)(1)=B(0,0)(1,1)(1,0)(2,1)(2,0)
- (0)(1)(2)(0)(1)(2)=B(0,0)(1,1)(1,1)
- (0)(1)(2)(1)=B(0,0)(1,1)(2,0)
- (0)(1)(2)(1)(0)(1)(2)=B(0,0)(1,1)(2,0)(1,1)
- (0)(1)(2)(1)(0)(1)(2)(0)(1)(2)(1)=B(0,0)(1,1)(2,0)(1,1)(2,0)
- (0)(1)(2)(1)(0)(1)(2)(1)=B(0,0)(1,1)(2,0)(2,0)
- (0)(1)(2)(1)(1)=B(0,0)(1,1)(2,0)(3,0)
- (0)(1)(2)(1)(2)=(0)(1)(2)|(1)|(1)|(1)|...=B(0,0)(1,1)(2,0)(3,1)
- (0)(1)(2)(1)(2)(0)(1)(2)=B(0,0)(1,1)(2,0)(3,1)(1,1)
- (0)(1)(2)(1)(2)(0)(1)(2)(1)=B(0,0)(1,1)(2,0)(3,1)(2,0)
- (0)(1)(2)(1)(2)(0)(1)(2)(1)(0)(1)(2)(1)(2)=B(0,0)(1,1)(2,0)(3,1)(2,0)(3,1)
- (0)(1)(2)(1)(2)(0)(1)(2)(1)(1)=B(0,0)(1,1)(2,0)(3,1)(3,0)
- (0)(1)(2)(1)(2)(0)(1)(2)(1)(2)=B(0,0)(1,1)(2,0)(3,1)(3,1)
- (0)(1)(2)(1)(2)(1)=B(0,0)(1,1)(2,0)(3,1)(4,0)
- (0)(1)(2)(1)(2)(2)=(0)(1)(2)|(1)(2)|(1)(2)|(1)(2)|...=B(0,0)(1,1)(2,1)
- (0)(1)(2)(1)(2)(2)(0)(1)(2)(0)(1)(2)(1)(2)(2)=B(0,0)(1,1)(2,1)(1,1)(2,0)(3,1)(4,1)
- (0)(1)(2)(1)(2)(2)(0)(1)(2)(1)(2)(0)(1)(2)(1)(2)(2)=B(0,0)(1,1)(2,1)(1,1)(2,0)(3,1)(4,1)(3,1)(4,0)(5,1)(6,1)
- (0)(1)(2)(1)(2)(2)(0)(1)(2)(1)(2)(2)=B(0,0)(1,1)(2,1)(1,1)(2,1)
- (0)(1)(2)(1)(2)(2)(1)=B(0,0)(1,1)(2,1)(2,0)
- (0)(1)(2)(1)(2)(2)(1)(2)=B(0,0)(1,1)(2,1)(2,0)(3,1)
- (0)(1)(2)(1)(2)(2)(1)(2)(1)(2)(2)=B(0,0)(1,1)(2,1)(2,0)(3,1)(4,1)
- (0)(1)(2)(1)(2)(2)(1)(2)(2)=B(0,0)(1,1)(2,1)(2,1)
- (0)(1)(2)(1)(2)(2)(2)=B(0,0)(1,1)(2,1)(3,0)
- (0)(1)(2)(1)(2)(3)=B(0,0)(1,1)(2,1)(3,0)(4,1)
- (0)(1)(2)(1,1)=|(0)(1)(2)|(1)(2)(3)|(2)(3)(4)|...=B(0,0)(1,1)(2,1)(3,1)
- (0)(1)(2)(1,1)(0)(1)(2)=B(0,0)(1,1)(2,1)(3,1)(1,1)
- (0)(1)(2)(1,1)(0)(1)(2)(0)(1)(2)(1,1)=B(0,0)(1,1)(2,1)(3,1)(1,1)(2,0)(3,1)(4,1)(5,1)
- (0)(1)(2)(1,1)(0)(1)(2)(1)=|(0)(1)(2)(1,1)(0)(1)(2)|(0)(1)(2)(1,1)(0)(1)(2)|(0)(1)(2)(1,1)(0)(1)(2)|...=B(0,0)(1,1)(2,1)(3,1)(1,1)(2,0)(3,1)(4,1)(5,1)(2,0)
- (0)(1)(2)(1,1)(0)(1)(2)(1)(2)(2)=(0)(1)(2)(1,1)(0)(1)(2)|(1)(2)|(1)(2)|(1)(2)|...=B(0,0)(1,1)(2,1)(3,1)(1,1)(2,1)
- (0)(1)(2)(1,1)(0)(1)(2)(1)(2)(3)(2,1)=(0)(1)(2)(1,1)(0)(1)(2)|(1)(2)(3)|(2)(3)(4)|(3)(4)(5)|...=B(0,0)(1,1)(2,1)(3,1)(1,1)(2,1)(3,0)(4,1)(5,1)(6,1)
- (0)(1)(2)(1,1)(0)(1)(2)(1,1)=|(0)(1)(2)(1,1)(0)(1)(2)|(1)(2)(3)(2,1)(1)(2)(3)|(2)(3)(4)(3,1)(2)(3)(4)|...=B(0,0)(1,1)(2,1)(3,1)(1,1)(2,1)(3,1)
- (0)(1)(2)(1,1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,0)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(0)(1)(2)(1,1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(1,1)(2,0)(3,1)(4,1)(5,1)(4,0)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(1,1)(2,0)(3,1)(4,1)(5,1)(4,0)(2,0)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(0)(1)(2)(1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(1,1)(2,0)(3,1)(4,1)(5,1)(4,0)(2,0)(2,0)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(0)(1)(2)(1)(2)(3)(2,1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(1,1)(2,0)(3,1)(4,1)(5,1)(4,0)(2,0)(3,1)(4,1)(5,1)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(0)(1)(2)(1,1)=|(0)(1)(2)(1,1)(1)(0)(1)(2)(1)(0)(1)(2)|(1)(2)(3)(2,1)(2)(1)(2)(3)(2)(1)(2)(3)|(2)(3)(4)(3,1)(3)(2)(3)(4)(3)(2)(3)(4)|...=B(0,0)(1,1)(2,1)(3,1)(2,0)(1,1)(2,1)(3,1)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(0)(1)(2)(1,1)(0)(1)(2)(1,1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(1,1)(2,1)(3,1)(1,1)(2,1)(3,1)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(0)(1)(2)(1,1)(1)(0)(1)(2)(1)(0)(1)(2)(1,1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(1,1)(2,1)(3,1)(2,0)(1,1)(2,1)(3,1)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(2,0)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(1)(0)(1)(2)(1)(0)(1)(2)(1,1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(2,0)(1,1)(2,1)(3,1)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(1)(0)(1)(2)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(2,0)(2,0)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(3,0)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1)(2)(3)(2,1)=B(0,0)(1,1)(2,1)(3,1)(2,0)(3,1)(4,1)(5,1)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1,1)=B(0,0)(1,1)(2,1)(3,1)(2,1)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1,1)(0)(1)(2)(1,1)=B(0,0)(1,1)(2,1)(3,1)(2,1)(1,1)(2,1)(3,1)
- (0)(1)(2)(1,1)(1)(0)(1)(2)(1,1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,1)(2,0)
- (0)(1)(2)(1,1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,1)(3,0)
- (0)(1)(2)(1,1)(1)(1)(0)(1)(2)(0)(1)(2)(1,1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,1)(3,0)(1,1)(2,0)(3,1)(4,1)(5,1)(4,1)(5,0)
- (0)(1)(2)(1,1)(1)(1)(0)(1)(2)(1)(0)(1)(2)(1,1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,1)(3,0)(1,1)(2,1)(3,1)(2,1)(3,0)
- (0)(1)(2)(1,1)(1)(1)(0)(1)(2)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,1)(3,0)(2,0)
- (0)(1)(2)(1,1)(1)(1)(0)(1)(2)(1)(1)(0)(1)(2)(1,1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(2,1)(3,0)(2,1)(3,1)(3,0)
- (0)(1)(2)(1,1)(1)(1)(0)(1)(2)(1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(3,0)(3,0)
- (0)(1)(2)(1,1)(1)(1)(0)(1)(2)(1,1)=B(0,0)(1,1)(2,1)(3,1)(3,1)
- (0)(1)(2)(1,1)(1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(4,0)
- (0)(1)(2)(1,1)(1)(1)(1)(0)(1)(2)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(4,0)(2,0)
- (0)(1)(2)(1,1)(1)(1)(1)(0)(1)(2)(1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(4,0)(3,0)
- (0)(1)(2)(1,1)(1)(1)(1)(0)(1)(2)(1)(1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(4,0)(4,0)
- (0)(1)(2)(1,1)(1)(1)(1)(0)(1)(2)(1,1)=B(0,0)(1,1)(2,1)(3,1)(4,1)
- (0)(1)(2)(1,1)(1)(1)(1)=B(0,0)(1,1)(2,1)(3,1)(4,1)(5,0)
- (0)(1)(2)(1,1)(1)(2)=B(0,0)(1,1)(2,2)
解説
rule1
終了規則。
rule2
ハーディー階層型の増加規則。
rule3

まず、右端の0でない要素が一人っ子かどうか調べる。

一人っ子ではなかった行に対して、「右端の要素の親の家族(その要素とその子孫全体からなるヒドラ)」と「右端の要素の親の直系先祖の子であり、右端の要素の直系先祖ではない要素の家族」の大きさを比較して、小さい家族を探す。

右端が0でない全ての行で以下の条件を満たす位置で列を区切り、区切った右側(右端を除く)を複製範囲とする。
- 右端が一人っ子なら、右端の要素の直系先祖であるような要素の左側。
- 右端が一人っ子でないなら、右端の親の家族より小さい家族の右端の右側。

右端の列を削除し、最下行では「削除前の右端-複製範囲の左端-1」の値を、最下行の下の行は最下行と同じ値を、最下行より上は「削除前の右端-複製範囲の左端」を複製範囲に足しながら複製する。ただし、「複製範囲の左端の要素の親の直系子孫ではない要素」と「真上の値が増えなかった要素」には足さない。

余談
没理由
- この記事の内容全体が「没ネタ」になったのは、東方巨大数4のルール内で東方要素との関連付けが義務付けられたことによる。
- ちなみにこの記事を書き始めたのは確か7月中、3つの定義が書き終わったのは10月なので、東方要素に関する規定が無かったとしてもこの3本を全部出すのは不可能であったことは明らかである。
第4準ヒドラシステム
- 構想自体は一番古くからあったので一番最初に定義を書き始めたが、完成までに一番時間がかかった。
以降の構想がかなり曖昧で、
や
のようなラベルが1の括弧が重なる構造の扱いに苦戦し、考えれば考えるほど訳が分からなくなり、結局定義が書きやすいものを選んだので正常に動作するか正直わからない。
変則拡張第4配列システム
- 執筆開始時点での構想の解像度がかなり高かったものの、標準形の形や複製範囲などの細部の仕様を決めるのに若干苦戦した。
- 構想を思いついたのが雨穴さんの「茶道*DANCE SPACE」の公開と大体同時期だったため、あの曲を聴くと無意識的に変則拡張第4配列システムについて考えてしまう癖がついた。
第4β超限行列システム
- 第4β超限行列システムは、β数列シリーズの1つである「第4β数列システム」を「超限行列システム」と同じコンセプトで行列化したものである。
- Twitter上で「4に関するネタが4つある」と発言したが、改めて数えると3つしかなかった。
- β4で定義される数の案が4つあったのでそれと混同していたものと思われる。
- (0)(1)(2)(2)[n]、(0)(1,1)[n]、(0)(2)[n]、(0)(n)[n]という関数をネストしたものを考えていたが、後半2つの定義が完成しなさそうだったので1つに絞った。
- β4で定義される数の案が4つあったのでそれと混同していたものと思われる。
没ネタの没ネタ
- この記事自体にも没ネタがある。
関数
概要
SKIコンビネータ計算に「後続項」と「順序数項」を追加した計算システムを利用した、計算可能かつ基本列が定義可能な順序数表記。
※
は後続項
※
は極限順序数
1個の順序数項だけを残して計算が終了する文字列を順序数と見做し、を「
以下の順序数とSKIコンビネータを使って
文字以下で記述できる最大の順序数」とする。
・・・みたいな。
計算例
(2)ss(ξ(0))=1+s(1)s(ξ(0))=1+s(ξ(0))((1)(ξ(0)))
没理由
- 計算不可能関数自体が個人的にあまり好きではない。
- 「比較的弱い計算不可能関数の評価指標」というコンセプトだが、完成したところで実用性があるかは怪しい。
- SKIコンビネータだけで何ができるのかちゃんと把握できていないので、めちゃくちゃ冗長なことをしているような気がする。
- 定義が完成させられない。
- 大小関係とか、基本列の絞り込みとか、いろいろ定義しなければならないことがある。
- そもそも、順序数表記の定義をちゃんと書いたことが無い。
- 東巨4の投稿期間終了までに思い付いたネタではなかった気がする。
2次大偽原始数列システム
2022/03/19追加
概要
即席巨大数2用に作ったが、を超えられないことに気付いて没にしたもの。
大偽原始数列を2次数列化したものだが、-1-階差数列とも2行大偽行列とも異なる。
表記
:非負整数
正規形:
計算法
rule1:
rule2:
rule3:
命名
2次大偽原始数列数