メタの世界

宇宙を作ってみたいと思ったことはありませんか?時は23世紀、宙太君の部屋の中央にキラキラ輝く直径1メートルくらいの銀河が浮かんでいる。デパートで買ってきた「宇宙の卵」から育てた大切な宇宙だ。お母さんがクモの巣と間違えて掃除機で吸い込んでホコリまみれになったり、電源コードが抜けて危うくブラックホールになりかけたりで大変だったけど、ようやく観測できる大きさにまで育ったマイ宇宙です。「ようやくおおきゅうなったわ」。宙太君が天体望遠鏡を取り出して、のぞきこんでみると地球そっくりの星がみえる。その星の上のタツノオトシゴのような列島を望遠用の倍率を上げて覗き込む。「あれ、僕ぐらいの年の人間の少年が見える!そうや、人間進化オプション付き卵やったな。でも、どっかで見たような…。あっ、あれは!!」振り返った少年の顔を見た宙太君は、ハッとして後ろの窓から夜空を振り返った。そこに見たものは、自分を望遠鏡で覗き込む巨大な自分の姿だった!そして、その巨大宙太君も、驚いて後ろを振り返る。そこには、さらに巨大な宙太君が、そして、その後ろには、さらに大きな宙太君が、そして、その後ろには………

こういうホームメード宇宙のお話はSFでは古典的なものですが、ただの空想ではありません。人間の科学や思想や社会が進化発展していくと、こういう不気味な話をただの空想的笑い話と言えなくなってしまうのです。この不思議な「宙太君の後ろに宙太君」という現象は、専門用語では、「自己参照」とか「メタ」とか呼ばれています。物理学でも、数学でも、そして、ソフトウェアの生産をするソフトウェア工学でも「自己参照現象」や「メタ現象」は起きうるのです。いえ、実は、すでに起きているのです。では、どんなことが起きているのか。ちょっと抽象的で難しいですが、雰囲気だけでも説明してみましょう。

天文ファンの多い「うちゅう」の読者のみなさんにとって一番身近な自己参照現象は、ブラックホールで有名なホーキングの自己参照現象でしょう。ホーキングは、ベストセラー「ホーキング宇宙を語る」の中で、人間が正しい物理の法則を見つけることができる保障はあるだろうか、人間の思考も物理法則に支配されるのだから、その「正しい物理法則」のせいで、人間には間違った物理法則しか見つけられないことになっているということはないのだろうかと問いかけました。物理法則が人間に意地悪するというのは、あまりありそうにありませんが、もしかしたらこの世界は宙太君が作った宇宙かもしれません。それなら宙太君は我々の創造の神ですから、もしかして、意地悪して、我々には絶対に正しい物理法則を教えないようにしているかもしれません。

これが宙太君現象になっているのは、宇宙のことを考えている我々の脳みそも物理的存在で宇宙の中の一つの物体だからです。つまり、宇宙の一部が、その宇宙の法則にしたがって、宇宙の法則を考えているのです。天才ホーキングの脳みそといえど宇宙の法則に逆らって活動することはできません。宇宙の始原、宇宙の根源に迫ろうとしていたホーキングは、自分の造物主である神に頼らないで、自分の理論の正しさを解明しようとしたのでしょうが、自分の脳みそが、その法則に支配されていることに思いいたって、こういう根源的問題を問いかけずにはいられなかったのでしょう。

ホーキングは唐突に、この不思議な問いかけをしたのではありません。20世紀の最初の年、ホーキングと同じイギリス人のB. ラッセルが、宙太君の話を思わせる不思議な現象が数学の世界で起きることを発見していたのです。ラッセルが発見したことは、「この文章は正しくない」という文章と同じようなものが、数学の世界に作れるということでした。このことから数学の論理が破綻してることが分かって、当時の数学者を大変に戸惑わせました。どうして、このような文章が問題かというと、この文章が正しいとすると、この文章は自分で自分は正しくないと言っているので、正しくないことになり、正しくないならば、正しくないと言っているのが正しくないので、正しいことになり、正しいのだから、やっぱり、正しくないことになり…、という無限に続く宙太君の行列のようなものができてしまって、この文章が正しいのか正しくないのか、その根拠を追求していっても永久の堂々巡りになってしまうからです。それだけではなく、背理法というものを使ってちょっと考えると、この文章は、「正しいかつ正しくない」ことを証明できるのです。これは数学が、あることを正しいとも正しくないとも言っているということで、これは数学が「矛盾している」という状態で、それは結局数学が破綻しているということなのです。

この文章は、「この文章は正しくない」というように、自分について何かを言っています。宙太君は自分自身の姿を観測していました。文章や宙太君が、自分自身について何か言ったり、自分自身を後から覗いたりしているのです。言ったり、眺めたり、ということを難しい言葉で「参照」といいます。つまり、文章や宙太君は自分自身について「参照」しているのです。こういうのを自己参照といいます。ラッセルは数学で自己参照が起こることを発見し、その結果、数学が矛盾さえしてしまうことの決定的証拠を見つけたのでした。

昔の西洋の宇宙観は地球が真ん中にあって、そのまわりに惑星がまわっていて、さらにその外の天球に恒星が張り付いているというように整然とした中心から周辺へという世界観に基づいています。それと同じように数学では、すべては公理と言う中心から推論という道具で、段々と積み上げるように整然と作り出されているという数学の世界観がありました。つまり、どんなものにも根拠があり、その根拠を前へ前へとたどっていくと、いつか公理という底のようなものに突き当たる。それが宇宙の中心としての地球のようなもので、すべてはそこの上に立っている。しかも、その公理というのは、「民主主義は正しい」というように誰でも正しいことがわかる単純明快でハッキリ・スッキリしたもので、しかも、試験のときに全部記憶できるくらいに数も少ない。公理以外の、この世の中の日々おきる複雑なゴチャゴチャも、その基本原理だけから全部組み立てられていて、地道に説明できる。とまあ、こういう、大変安心できる世界観があり、その世界観に強く影響を受けている現代文明の根底にも、こういう信念が根強くあります。この信念がラッセルの発見で危険にさらされてしまいました。

その結果、数学基礎論という学問が生まれ、古くは古代ギリシャに由来する整然とした世界観を取り戻そうという努力が重ねられ、一見矛盾しない形に数学の宇宙を構造改革することに成功しました。そして、数学者たちは、これだけでは飽き足らず、構造改革された数学には堂々巡りがなくなり、矛盾せず絶対安全だということを証明しようとしました。しかし、結局分かったことは、予想外のゲーデルの結論でした。それは「矛盾なくうまく行っていながら、その実、真の姿ではないように捻じ曲げた数学法則を作ることができる。そのためもあって構造改革されていようといまいと、人間の数学を人間が絶対安全だと証明することはできない」というものでした。

ホーキングが心配したようなことは、人工的に作り出せば、数学では起きてしまう可能性があるのです。そして、そういう意地悪された世界が人工的とはいえ作りだせるということから、人間には、すべてのものを絶対の根拠の上に段々と積みかさねるような包括的世界理論は作れないということが分かるのです(なぜ分かるかは、難しいので省きます。林の著書「ゲーデルの謎を解く」岩波書店に解説があります。)。

こんなことが起きたのは、それは数学があまりに完全で普遍的なものになろうとしすぎたからだといえます。数学者は19世紀に言葉と論理の力を使ってあらゆる限界を打ち破る方法を見つけだしたのですが、それは地中の穴倉の中に住んでいる虫たちの中で一番強いサソリが、自慢の毒針で他の虫たちを捕まえて何でもかんでも食べて、どんどん大きくなっていくようなものでした。数学者は毒針を使っては、手当たり次第自分たちの世界を広げていきました。そして、とうとう穴倉一杯にまで成長したのですが、そのときには、毒針がズブリと刺す獲物はいなくなり、この極限状況で、いつの間にか自分には窮屈になった穴倉のなかで、心ならずもサソリの毒針は自分自身を刺してしまったのです。

この数学の破綻や、それを引き起こす自己参照は、現実世界とは程遠い純粋数学の世界のことで、現実の世界にはあまり関係ないと長い間思われていました。ところが、最近、この「宙太君の後ろに宙太君」の世界が、私が専門とするソフトウェアの生産現場や、インターネット上のデータ交換の世界に、ドンドン登場するようになっています。

たとえば、ソフトウェアの生産現場では、UML(統一モデリング言語)という形式言語でメタの世界が当然のことのように使われています。形式言語というのは人工の言語でコンピュータが完全に文法を計算できるものをいいます。プログラミング言語もその一例ですが、プログラミング言語だけでなく他のものもあります。UMLも、そういうプログラミング言語以外の形式言語の一種で、プログラミングの設計図にあたるものを書くために使われるものです。

プログラミング言語には、もともとブートストラップ(編み上げ)という考え方があって、小さな言語で、中くらいの言語を作り、中くらいの言語で大きな言語をつくり、それを使って、さらに大きな言語をつくり、という「宙太君の後ろに宙太君」の世界は珍しくありませんが、UMLでは、それがもっと本格的になって登場してきています。UMLを説明する公式文書を見ますと、UMLは宙太君が4段になっていると書いてあるのです。その公式文書ではUML自体が、UMLとほぼ変わらない言語で説明されているのです。つまり、UMLがUMLを説明しているといえます。本当は、少しだけUMLと違うもので、UMLが説明されているのですが、その差はほんわずかなので、UMLでUMLが説明されているといえるほどなのです。この情況は実物をみるまでは専門家にも分かりにくいのですが、たとえれば、日本語の文法書が日本語で書いてあると思えばよいでしょう。

UMLのようなソフトウェアの世界で、「宙太君の後ろに宙太君」になってしまうのは、形式言語というのは、なるべく一つで、何でも書けるように設計されるものだからです。たとえばプログラミング言語は、コンピュータ・ゲームでも、銀行のオンライン・システム用のソフトウェアでも、パソコン用のWord や一太郎のようなソフトでも、とにかくあらゆるソフトウェアを書けるように設計されます。ところがプログラミング言語自体も一種のソフトウェアなので、そのために例えばJAVAのプログラムの一つとして、JAVA自身を作る(書く)ことができたりするのです。これはUMLも事情は同じで、できるだけ沢山のものが書けるように作られるために、自分自身を記述できてしまうのです。

これも何でもかでも書けるようにするという欲張りすぎが原因ですから、数学があまりに普遍的になろうと欲張りすぎて矛盾してしまったのと、同じ仕組みで宙太君の世界を招いているといえます。ただ、数学とプログラミング言語などには微妙なずれがあり、プログラミング言語などの世界では矛盾は起きません。それでも宙太君の後ろに宙太君が立っている世界なので、コンガラった不思議な世界であることに変わりはありません。

宙太君の後の宙太君を、専門用語で「メタ宙太君」といいます。メタというのは、このように何かを「参照」している側の先頭に接頭語としてくっつけるものなのです。ですから、メタ宙太君の後ろで、メタ宙太君を参照(観測)している宙太君は、「メタメタ宙太君」です。ソフトウェアの世界では、メタモデルとか、メタメタモデルという言葉は、それほど珍しく無くなってきています。IT化は、ドンドン進むでしょうから、このメタという言葉を、みなさんもドンドン聞くようになることだと思います。そのときは、それは宙太君の後ろの宙太君だと思ってください。

実は、よーく目を凝らしていると、数学や、コンピュータ・ソフトの世界だけでなく、今の世界は、こういうメタ的な現象、自己参照的な現象に満ち溢れていることがわかります。私は地球温暖化のような環境汚染の問題も、こういうことの一つなのだろうと思っています。旅客機がテロに使われてしまうということも、広く考えれば同じ問題の一端なのではないかと思います。誰にでも便利に作ったものは、テロリストにも便利なのです。そして、現代機械文明には、「誰にでもできる」、「誰でも使える」という言葉がつきものなのですから、アメリカのテロのようなことが起きるのは現代文明の本性と言えないこともありません。数学が1世紀前に直面したように、科学技術の急速な進歩のために、文明の毒針が文明自身に刺さってしまっているのです。これは文明が大発展した証拠でもありますから、悲観ばかりする必要はありませんが、放っておけないことであることは確かです。

今年の夏は、ヨーロッパや中国で大洪水がありました。これは地球温暖化という毒針でないか、どうしても心配になってしまいますね…でも、郊外にでて天体望遠鏡を空に向ければ、空が明るくなりすぎているとはいえ、まだまだ、すばらしい星空が広がっています。そろそろ秋空で天体観測の季節になりますね。穴倉に閉じ込められてしまったサソリなどという息のつまりそうな話は忘れて、澄んだ秋空に望遠鏡を向けましょう。………

もしかして、その望遠鏡の先でジッとあなたを観測している、あなたがいるのかもしれませんが。

大阪市立科学館友の会、月刊うちゅう 2002/Oct, Vol.19 No.7 より.

イラスト by さいとう ともこ