巨大数研究 Wiki
Advertisement
巨大数研究 Wiki

東方巨大数4の規則の境界を突いた巨大数とは、巨大数大好きbotが2021年7月28日に発表した東方巨大数である[1]

概要

第4回東方巨大数には、「定義にプログラミング言語を使わないでください。」という規則がある。しかし、何がプログラミング言語として認められるかは明示されなかった。東方巨大数4の規則の境界を突いた巨大数では、アセンブリ言語のようなものを数学的に定式化した「八雲語」を用いることによって、この規則のグレーゾーンを突き、定義に事実上のプログラミング言語を含めている。

結果発表[2]において、東方巨大数4の規則の境界を突いた巨大数が「定義にプログラミング言語を使わないでください。」という規則に反するとして無効になっていないため、東方巨大数4において八雲語はプログラミング言語ではないとみなされている。

八雲語

記憶文字(事実上常用漢字のことであるとしてよい)全体の集合をKとする。また、K->(Z^2->Z)の型を持つ関数全体の集合をFとする。各八雲語の文は、F->Fの型を持つ写像として定式化されている。

アセンブリ言語を模した[注 1]言語である八雲語は、Unicodeの文字1個以上からなる文字列の集合SからF->Fへの部分写像として定式化される。

概ね、Kの要素は2次元配列の変数名、Fの要素はメモリの内容、Sの要素は命令を表す文字列、「SからF->Fへの部分写像」は命令セットに相当する。

定義

z∈Fをλk. (λx,y. 0)とし、次の関数を評価した値を「東方巨大数4の規則の境界を突いた巨大数」とする。

繝リ龍繝ン繝セ底繝ァ繧ァ繝ィ繧ァ繝ォ繧ョ繝ン縺ス縺ォ繧ョ縺ェ哀縺ャ繝セ龍繝ァ哀繧ァ繝ッ繧ァ繝ヲ繝ィ哀繧ァ繝ッ繧ァ繝ヲ繝ォ哀繧ァ繝ッ繧ァ繝ヲ繝ン縺ン繝セ高繝ァ繧ァ繝ィ繧ァ繝ォ繧ョ繝ン繝セ切繝ァ繧ァ繝ィ繧ァ繝ォ繧ョ繝ン繝セ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ョ繝ン縺カ切縺ァ繧ァ縺ィ繧ァ縺ォ繧ィ縺ャ縺ナ切縺ァ繧ァ縺ィ繧ィ縺ォ繧ィ縺ャ繝セ龍繝ァ切繧ァ繝ッ繧ァ繝ヲ繝ィ切繧ァ繝ッ繧ィ繝ヲ繝ォ繧ァ繝ン繝イ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ヲ繧ィ繝ン繝セ典繝ァ繧ァ繝ィ繧ァ繝ォ龍切繧ァ繝ッ繧ァ繝ヲ繝ッ切繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン縺ラ典縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ繝イ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ィ繝ン繝セ典繝ァ繧ァ繝ィ繧ァ繝ォ龍切繧ァ繝ッ繧ァ繝ヲ繝ッ切繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン縺ン繝イ底繝ァ繧ァ繝ィ繧ァ繝ォ繧ィ繝ン縺ュ繝セ悪繝ァ繧ァ繝ィ繧ァ繝ォ切繧ァ繝ッ繧ァ繝ヲ繝ン繝セ悪繝ァ繧ァ繝ィ繧ィ繝ォ切繧ァ繝ッ繧ィ繝ヲ繝ン繝セ差繝ァ繧ァ繝ィ繧ァ繝ォ繧ァ繝ン縺イ差縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ繝イ悪繝ァ繧ァ繝ィ繧ィ繝ォ繧ヲ繧ィ繝ン繝セ根繝ァ繧ァ繝ィ繧ァ繝ォ繧ァ繝ン縺ラ根縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ繝イ悪繝ァ繧ァ繝ィ繧ァ繝ォ繧ヲ繧ィ繝ン繝セ根繝ァ繧ァ繝ィ繧ァ繝ォ龍悪繧ァ繝ッ繧ァ繝ヲ繝ッ悪繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン縺ン繝サ差繝ァ繧ァ繝ィ繧ァ繝ホ龍繝ァ悪繧ァ繝ッ繧ァ繝ヲ繝ィ悪繧ァ繝ッ繧ィ繝ヲ繝ホ根繝ァ繧ァ繝ィ繧ァ繝ン縺ン繝サ移繝ァ繧ァ繝ィ繧ァ繝ホ切繝ァ繧ァ繝ィ繧ァ繝ホ悪繝ァ繧ァ繝ィ繧ァ繝ン繝サ移繝ァ繧ァ繝ィ繧ィ繝ホ切繝ァ繧ァ繝ィ繧ィ繝ホ悪繝ァ繧ァ繝ィ繧ィ繝ン縺タ差縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ繝イ移繝ァ繧ァ繝ィ繧ィ繝ォ繧ヲ繧ィ繝ン縺ン繝サ写繝ァ繧ァ繝ィ繧ィ繝ホ高繝ァ繧ァ繝ィ繧ァ繝ホ悪繝ァ繧ァ繝ィ繧ィ繝ン繝セ昇繝ァ繧ァ繝ィ繧ァ繝ォ繧ァ繝ン繝ア向繝ァ繧ァ繝ィ繧ァ繝ホ悪繝ァ繧ァ繝ィ繧ァ繝ホ移繝ァ繧ァ繝ィ繧ァ繝ン縺サ縺ォ底繧ァ繝ッ繧ァ繝ヲ縺ャ縺サ縺ォ移繧ァ繝ッ繧ァ繝ヲ縺ャ繝サ泉繝ァ繧ァ繝ィ繧ァ繝ホ向繝ァ繧ァ繝ィ繧ァ繝ホ移繝ァ繧ァ繝ィ繧ァ繝ン繝ア向繝ァ繧ァ繝ィ繧ィ繝ホ悪繝ァ繧ァ繝ィ繧ィ繝ホ移繝ァ繧ァ繝ィ繧ィ繝ン繝ア向繝ァ繧ァ繝ィ繧ィ繝ホ向繝ァ繧ァ繝ィ繧ィ繝ホ昇繝ァ繧ァ繝ィ繧ァ繝ン縺サ縺ォ写繧ァ繝ッ繧ィ繝ヲ縺ャ繝サ泉繝ァ繧ァ繝ィ繧ィ繝ホ向繝ァ繧ァ繝ィ繧ィ繝ホ移繝ァ繧ァ繝ィ繧ィ繝ン繝コ龍繝ァ向繧ァ繝ッ繧ァ繝ヲ繝ィ向繧ァ繝ッ繧ィ繝ヲ繝ホ龍繝ァ泉繧ァ繝ッ繧ァ繝ヲ繝ィ泉繧ァ繝ッ繧ィ繝ヲ繝ン繝イ向繝ァ繧ァ繝ィ繧ィ繝ォ繧ィ繝ン縺ン繝イ向繝ァ繧ァ繝ィ繧ァ繝ォ繧ィ繝ン繝イ切繝ァ繧ァ繝ィ繧ァ繝ォ繧ィ繝ン縺ン繝ア高繝ァ繧ァ繝ィ繧ァ繝ホ高繝ァ繧ァ繝ィ繧ァ繝ホ移繝ァ繧ァ繝ィ繧ィ繝ン繝ア昇繝ァ繧ァ繝ィ繧ァ繝ホ昇繝ァ繧ァ繝ィ繧ァ繝ホ移繝ァ繧ァ繝ィ繧ィ繝ン縺ン繝イ切繝ァ繧ァ繝ィ繧ァ繝ォ繧ヲ繧ィ繝ン繝セ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ァ繝ン繝セ典繝ァ繧ァ繝ィ繧ァ繝ォ龍切繧ァ繝ッ繧ァ繝ヲ繝ッ切繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン縺ラ典縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ繝イ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ィ繝ン繝セ典繝ァ繧ァ繝ィ繧ァ繝ォ龍切繧ァ繝ッ繧ァ繝ヲ繝ッ切繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン縺ン繝イ底繝ァ繧ァ繝ィ繧ァ繝ォ繧ィ繝ン縺ン縺ン繝セ龍繝ァ切繧ァ繝ッ繧ァ繝ヲ繝ィ切繧ァ繝ッ繧ィ繝ヲ繝ォ繧ァ繝ン繝イ底繝ァ繝ィ繧ァ繝ォ繧ァ繝ン(z)(底)(0,0)

リファクタリング

上の定義は非常に読みにくいため、定義のすぐ下では八雲語(上の定義のうち、「(z)(底)(0,0)」以外の部分)を読みやすくするために改行、空行、インデントを入れたものが示されている。

繝リ龍繝ン
繝セ底繝ァ繧ァ繝ィ繧ァ繝ォ繧ョ繝ン
縺ス縺ォ繧ョ縺ェ哀縺ャ
    繝セ龍繝ァ哀繧ァ繝ッ繧ァ繝ヲ繝ィ哀繧ァ繝ッ繧ァ繝ヲ繝ォ哀繧ァ繝ッ繧ァ繝ヲ繝ン
縺ン

繝セ高繝ァ繧ァ繝ィ繧ァ繝ォ繧ョ繝ン
繝セ切繝ァ繧ァ繝ィ繧ァ繝ォ繧ョ繝ン
繝セ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ョ繝ン

縺カ切縺ァ繧ァ縺ィ繧ァ縺ォ繧ィ縺ャ
    縺ナ切縺ァ繧ァ縺ィ繧ィ縺ォ繧ィ縺ャ
        繝セ龍繝ァ切繧ァ繝ッ繧ァ繝ヲ繝ィ切繧ァ繝ッ繧ィ繝ヲ繝ォ繧ァ繝ン
        繝イ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ヲ繧ィ繝ン
        繝セ典繝ァ繧ァ繝ィ繧ァ繝ォ龍切繧ァ繝ッ繧ァ繝ヲ繝ッ切繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン
        縺ラ典縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ
            繝イ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ィ繝ン
            繝セ典繝ァ繧ァ繝ィ繧ァ繝ォ龍切繧ァ繝ッ繧ァ繝ヲ繝ッ切繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン
        縺ン
        繝イ底繝ァ繧ァ繝ィ繧ァ繝ォ繧ィ繝ン
    縺ュ
        繝セ悪繝ァ繧ァ繝ィ繧ァ繝ォ切繧ァ繝ッ繧ァ繝ヲ繝ン
        繝セ悪繝ァ繧ァ繝ィ繧ィ繝ォ切繧ァ繝ッ繧ィ繝ヲ繝ン
        繝セ差繝ァ繧ァ繝ィ繧ァ繝ォ繧ァ繝ン

        縺イ差縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ
            繝イ悪繝ァ繧ァ繝ィ繧ィ繝ォ繧ヲ繧ィ繝ン
            繝セ根繝ァ繧ァ繝ィ繧ァ繝ォ繧ァ繝ン
            縺ラ根縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ
                繝イ悪繝ァ繧ァ繝ィ繧ァ繝ォ繧ヲ繧ィ繝ン
                繝セ根繝ァ繧ァ繝ィ繧ァ繝ォ龍悪繧ァ繝ッ繧ァ繝ヲ繝ッ悪繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン
            縺ン
            繝サ差繝ァ繧ァ繝ィ繧ァ繝ホ龍繝ァ悪繧ァ繝ッ繧ァ繝ヲ繝ィ悪繧ァ繝ッ繧ィ繝ヲ繝ホ根繝ァ繧ァ繝ィ繧ァ繝ン
        縺ン

        繝サ移繝ァ繧ァ繝ィ繧ァ繝ホ切繝ァ繧ァ繝ィ繧ァ繝ホ悪繝ァ繧ァ繝ィ繧ァ繝ン
        繝サ移繝ァ繧ァ繝ィ繧ィ繝ホ切繝ァ繧ァ繝ィ繧ィ繝ホ悪繝ァ繧ァ繝ィ繧ィ繝ン

        縺タ差縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ
            繝イ移繝ァ繧ァ繝ィ繧ィ繝ォ繧ヲ繧ィ繝ン
        縺ン

        繝サ写繝ァ繧ァ繝ィ繧ィ繝ホ高繝ァ繧ァ繝ィ繧ァ繝ホ悪繝ァ繧ァ繝ィ繧ィ繝ン
        繝セ昇繝ァ繧ァ繝ィ繧ァ繝ォ繧ァ繝ン
        繝ア向繝ァ繧ァ繝ィ繧ァ繝ホ悪繝ァ繧ァ繝ィ繧ァ繝ホ移繝ァ繧ァ繝ィ繧ァ繝ン

        縺サ縺ォ底繧ァ繝ッ繧ァ繝ヲ縺ャ
            縺サ縺ォ移繧ァ繝ッ繧ァ繝ヲ縺ャ
                繝サ泉繝ァ繧ァ繝ィ繧ァ繝ホ向繝ァ繧ァ繝ィ繧ァ繝ホ移繝ァ繧ァ繝ィ繧ァ繝ン
                繝ア向繝ァ繧ァ繝ィ繧ィ繝ホ悪繝ァ繧ァ繝ィ繧ィ繝ホ移繝ァ繧ァ繝ィ繧ィ繝ン
                繝ア向繝ァ繧ァ繝ィ繧ィ繝ホ向繝ァ繧ァ繝ィ繧ィ繝ホ昇繝ァ繧ァ繝ィ繧ァ繝ン
                縺サ縺ォ写繧ァ繝ッ繧ィ繝ヲ縺ャ
                    繝サ泉繝ァ繧ァ繝ィ繧ィ繝ホ向繝ァ繧ァ繝ィ繧ィ繝ホ移繝ァ繧ァ繝ィ繧ィ繝ン
                    繝コ龍繝ァ向繧ァ繝ッ繧ァ繝ヲ繝ィ向繧ァ繝ッ繧ィ繝ヲ繝ホ龍繝ァ泉繧ァ繝ッ繧ァ繝ヲ繝ィ泉繧ァ繝ッ繧ィ繝ヲ繝ン
                    繝イ向繝ァ繧ァ繝ィ繧ィ繝ォ繧ィ繝ン
                縺ン
                繝イ向繝ァ繧ァ繝ィ繧ァ繝ォ繧ィ繝ン
                繝イ切繝ァ繧ァ繝ィ繧ァ繝ォ繧ィ繝ン
            縺ン
            繝ア高繝ァ繧ァ繝ィ繧ァ繝ホ高繝ァ繧ァ繝ィ繧ァ繝ホ移繝ァ繧ァ繝ィ繧ィ繝ン
            繝ア昇繝ァ繧ァ繝ィ繧ァ繝ホ昇繝ァ繧ァ繝ィ繧ァ繝ホ移繝ァ繧ァ繝ィ繧ィ繝ン
        縺ン
        繝イ切繝ァ繧ァ繝ィ繧ァ繝ォ繧ヲ繧ィ繝ン
        繝セ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ァ繝ン
        繝セ典繝ァ繧ァ繝ィ繧ァ繝ォ龍切繧ァ繝ッ繧ァ繝ヲ繝ッ切繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン
        縺ラ典縺ァ繧ァ縺ィ繧ァ縺ォ繧ァ縺ャ
            繝イ切繝ァ繧ァ繝ィ繧ィ繝ォ繧ィ繝ン
            繝セ典繝ァ繧ァ繝ィ繧ァ繝ォ龍切繧ァ繝ッ繧ァ繝ヲ繝ッ切繧ァ繝ッ繧ィ繝ヲ繝ヲ繝ン
        縺ン
        繝イ底繝ァ繧ァ繝ィ繧ァ繝ォ繧ィ繝ン
    縺ン
縺ン

繝セ龍繝ァ切繧ァ繝ッ繧ァ繝ヲ繝ィ切繧ァ繝ッ繧ィ繝ヲ繝ォ繧ァ繝ン
繝イ底繝ァ繝ィ繧ァ繝ォ繧ァ繝ン

脚注

  1. 模したと言っても、if文やforループなどの制御構造が存在するため、実際はC言語に近い。

出典

Advertisement