注意:このブログは、読者不在を心掛けつつ、白石俊平個人の私的な文章を面白くなく綴るものです。 ==== メタとは規則のことである。 長い考察を経て、一旦この定義に辿り着いた。この定義がどれくらいの強度を持つのか、この定義からどのように論理が発展するものか、少しずつ試していきたいと思う。 ゲーデル、エッシャー、バッハにおいて、メタは中心的なテーマであった。が、メタについては数多くの例証はするものの、「メタとは何か?」という問いに遂には答えを出していなかった(そもそも著者の主要な関心は、メタそのものではなく、メタが引き起こす現象そのものだったのだから無理はない)。 そこでは、メタとは規則の階層でもあり、意味の階層であった。そして、この「両面」を多角的に論じることで、知性の謎に迫ろうと言うものであった。なるほど、知性を語ろうとするならば、現象の「解釈」とそこから「意味」を見出す作業を抜きにしては語れまい。 しかし、「メタとは何か」を語る上では、意味はむしろただの副産物と言って良い。極めて重要な副産物ではあるが。 (上の段落の「言い切り」は、ちょっとした冒険である…ぼく自身、まだ「メタとは規則である」という定義を受け入れきれてはいないのだから。これは一旦言い切ってみるとどうなるかの実験である) 例えば、機械語とアセンブリ言語の関係を見るとする。機械語は単なる0と1の羅列でしかなく、CPUは単なる機械語のインタープリタだ。そして、アセンブリ言語は、その機械語と一対一に対応する、人間にとって(幾分)意味の分かりやすい命令セットである。 この関係においては、アセンブリ言語が機械語に対してメタ的な関係であるということができよう。こんな言い方ができる。「無機質な0,1の並びに意味を与えた」と。さらにC言語がアセンブリ言語に対してより直感的なインターフェイスを与えると、より人間にとってプログラムコードの「意味」は明示的となる。こうした意味の階層が、メタレベルそのものだと思ってもおかしくはない。 しかし、意味が単なる副産物だと置き、翻訳規則そのものに注目しよう。つまり、アセンブリ言語も単なる記号でしかなく、機械語とアセンブリ言語、アセンブリ言語とC言語の間には、単に記号間の翻訳規則があるだけだ、と。そして、その規則その