ゲーデル文

「形式的体系 L が無矛盾であれば、直観的には真であるにもかかわらず証明もその否定の証明もできない L の命題がある。」というゲーデルの第一不完全性定理と、「形式的体系 L が無矛盾であれば L では自分自身の無矛盾性を証明できない」という第二不完全性定理ほど、論理学に関心のある素人の興味を惹くものはない。証明もその否定の証明もできない命題とは一体どんな命題だろうか。無矛盾な体系は自分自身の無矛盾を証明できないのなら人間は確実な真理を得ることは不可能であると云う事なのだろうか。さまざまな疑問や不安が生じてくる。しかし、残念ながらゲーデルの定理自体は純粋に数学の定理として述べられているだけなので、予備知識のない素人が詮索するにはあまりに厚いベールに覆われている。

そこで数学の知識のない著者が無謀にもゲーデルの定理に挑戦してこう言うものではないだろうかと思ったので書いてみたいと思う。しかし、何分素人なので完全に無保証である。ゲーデルの定理に関する数多くの雑音を増やすだけかも知れない。まあ、こんなことを考えている者もいるのかと言うくらいに受け止めていただければ幸だ。

第一不完全性定理

第一不完全性定理で一番不審に思うのは、「証明もその否定の証明もできない命題」とは一体どんな命題なのだろうかということである。この命題は数学の記号を使ってしか表せないため、ゲーデルの定理の啓蒙書にはこの命題そのものは登場しないことがおおい。そこで、この命題をふつうの言葉で表現してみようというのが第一の目論見である。

ゲーデル文を完全にふつうの言葉で表現するのは難しいので、少し工夫を加えてみよう。「ポチは犬の集合の要素である。」という命題は、ポチという主語と犬の集合という述語からなっている。このような命題を

犬の集合(ポチ)

と書くことにする。この場合ポチが犬であればこの命題は真である。また次のような対角式と言うものを定義する。語の対角式とは

犬の集合(犬の集合)

というように主語と述語に同じ語を入れて作った命題をさす。この場合ふつうの言葉に直すと「犬の集合(という語)は犬の集合の要素である。」となる。犬の集合という語は犬ではないのでこの命題は偽である。これだけの準備をした上でゲーデル文を作ると次のようになる。

対角式が証明不可能な語の集合(対角式が証明不可能な語の集合)

これは「対角式が証明不可能な語の集合(という語)は、対角式が証明不可能な語の集合の要素である。」という意味を表す。この命題が正しいとすると、「対角式が証明不可能な語の集合」という語から作られた対角式「対角式が証明不可能な語の集合(対角式が証明不可能な語の集合)」は証明不可能な文である。ところが、この文は上の命題と全く同じものになる。従って、上の命題は真であれば証明不可能である。反対に、上の命題が偽であれば「対角式が証明不可能な語の集合」から作る対角式は証明可能な文である。ところがその対角式はもとの文と同じ文なので、偽な文が証明可能となり矛盾してしまう。したがって、上の命題は真であるが証明不可能なのである。

また、上の対角式が集合自身が自分の述語を充足してしまうラッセルの集合と似た型式になっているのも興味深い。

一般的なゲーデル文

何かの理論を扱う体系は本質的には記号の羅列である。記号、記号の列としての式、式の部分集合で真偽を割り当てることのできる文、やはり式の部分集合で集合を言及することのできる述語などがあるが、それらは全て記号の列として表すことができる。ところで、この記号の列は可算無限集合の要素である。したがって、この記号の列と自然数とは全単射の関数で1対1対応させることができる。例えば、〜、P、N、(、)という5つの記号で構成される体系は5進数を利用すれば簡単に記号列と自然数と1対1対応させることができる。もちろんこのような単純な方法ではナンセンスな記号列も含まれてしまうが、文法的にしっかりした記号列だけを自然数に1対1対応させることも可能である。したがって、こういう抽象的体系全般に共通する性質を扱うときは、一度その体系を自然数の集合に変換してしまって考えるのが便利である。

ある理論体系の表現を全て自然数に1対1対応してしまったとしよう。1つの自然数はその理論で出現する1つの式を表している。その式の中に真偽の判定できる文や、集合を言及する述語などが含まれている。それではその理論体系を写し取った自然数では述語はどのような表われ方をするのだろうか。述語とは集合の内包的定義のとき利用される述語のことである。述語自体に真偽を与えることは意味がないが、述語と主語を組み合わせることによってつくられた文は真偽を判断することができる。たとえば「犬の集合の要素である」という述語は真偽とは関係ないが、「猫は犬の集合の要素である」という文は真偽を与えることができ、この場合は偽となる。述語のもう1つの特長は「xは犬の集合の要素である」という変数を持った文にいろいろな式を代入した文の真偽を問題にすることによって、ある共通の性質をもった式の集合を表すことができるということである。「xは犬の集合の要素である」の x に「猫」「ポチ」「人」などを代入した文の真偽を吟味することによって、「犬の集合の要素である」という述語と対応する集合を定めることができる。述語は集合と対応していると言える。このように述語は集合を定義するときに欠かすことができない。特に無限集合を定義するときは述語を使う方法しかない。

それでは、自然数の集合に変換された理論体系のなかで、述語はどう扱われるのだろうか。上の議論からわかるように真偽の判定は述語と主語の組み合わせでなされるということである。したがって、このような自然数集合の要素である述語を表す数 h は他の数 n と組み合わされることによって文を作り、真偽が判断できる。これを h(n) = p と表すことにしよう。これは (h, n) = p と書いても良い。(h, n)は単に自然数の順序対なので、これを文を表す数 p に対応させる写像が必要なのである。実際自然数の順序対 (h, n) の集合と自然数の集合は濃度が同じだから、順序対の集合から自然数への写像は可能である。

つまり、述語 h と n の順序対は文 p と対応しており、pは真か偽の価を持つことができる。さらに、h と自然数の全ての数値の順序対を作って真偽を判断することにより、h は自然数の部分集合を定める事ができる。ところが、ひとつ注意しておかなければならないことがある。hと全ての自然数との順序対を考えるとき、 h 自身との組み合わせも考えなければならないのだ。ラッセルの集合の場合を考えると不吉な兆候である。

とはいえ、ひとまず、理論体系を表す自然数の集合に述語をとりいれることができたわけだ。述語は集合と対応していると考えられるから、この自然数に埋めこまれた理論体系も内包的定義による集合を扱うことができる。ここで文を表す自然数のうち真であるものの集合 T を考える。こういう集合を自然数の部分集合として考えるのは自然である。また、この自然数集合のなかで数 n から対角式 n(n) という文を表す数を作ることが可能な形式的体系では、述語 hを次のように定義することができる。

h(n) ∈ T ⇔ n(n) ∈ A

すなわち、述語 h と主語 n でできる文が真のとき(すなわち、主語 n が述語 h を充足するとき)にかぎって n の対角式が集合 A に属している。また、h(n) が偽の場合は n(n) は集合 A の要素ではない。集合 A はその体系内で定義できる集合であれば何でも良い。

ここで、n は任意であるから当然 h も代入することができるので。

h(h) ∈ T ⇔ h(h) ∈ A

上の文 h(h) は真であれば必ず Aの要素でなければならない。このような文 h(h) が一般的なゲーデル文である。主語と述語を使って文をつくるという方法を体系に採り入れたことで、その文が真であれば必ずその文が他の集合の要素でもある文が発生してしまうのだ。従って上の A の代わりに証明できない文の集合 〜P を持ってくると

h(h) ∈ T ⇔ h(h) ∈ 〜P

すなわち真であるが証明できない文が発生してしまう。述語を利用することによって真であるが証明不可能な文を作ることができてしまうのである。

また、A が偽となる文の集合 〜T の場合はもっと深刻で

h(h) ∈ T ⇔ h(h) ∈ 〜T

となって矛盾が発生してしまうのである。

床屋のパラドックス

よく知られている床屋のパラドックスはゲーデル文の喩えとして適切ではないかと思う。床屋のパラドックスとは「ある町の床屋は自分の鬚をそらない人の鬚だけをそるが、自分自身の鬚はどうするか。」というパラドックスである。自分の鬚を剃らなければルールに従うと自分の鬚を剃らなくてはならなくなるし、自分の鬚を剃ってしまうとルールを破ってしまい矛盾が発生してしまう。

すこしも喩えになっていないかも知れないので説明を補足する。つまり、ある町の住人という集合の要素を、床屋というその中の要素を媒介にして、鬚を剃られるものと、鬚を剃られないものの集合に分けて行く。つまり、床屋は町の住人の集合の部分集合を定めるための述語のような働きをしているのである。その際、床屋自身もその集合の要素であるが、床屋自身は自分のきめたルールで自分をどちらの集合にも分けられない事態が発生してしまうのである。

床屋は自分で自分の鬚を剃る訳には行かないので、誰かに鬚を剃ってもらわなければならない人のグループに属するはずである。しかし、その誰かがいないのである。鬚を剃ってもらえる人は自分で鬚を剃らない人であるから、「自分で鬚を剃らない」ひとの集合のうちに「鬚を剃ってもらう」ひとの集合が含まれる。この関係はちょうど「真な文」のみが「証明可能な文」であるのと同じ関係にある。この床屋は自分で鬚を剃らないのだが鬚を剃ってはもらえない。つまり、真であるが証明不可能なのである。

第二不完全性定理

このように述語を利用することで真であるが証明不可能な文を作ることができる。ゲーデルはこのような文を、形式的体系のうち、その中で自然数論を展開できる強さのものでは作成可能であることを証明し、その命題は肯定の証明も否定の証明もすることができないことを示した。さらに、この第一不完全性定理の証明を形式的体系の中で形式化することで、「無矛盾な形式的体系は自分自身の無矛盾性を証明できない」ことも証明された。「自分の体系は無矛盾である」という意味の文がゲーデル文になるためだ。しかし、形式的体系の無矛盾性はその体系の外からは証明可能なので、「ゲーデルの定理が証明されたから、人間は永遠に真理を知ることはできないのだ。」という解釈にはならないような気がする。形式的体系の無矛盾性が証明できないことの意味についての、それ以上の突っこんだ議論はゲーデルの証明をしっかり理解した上で行うべきであるが、それは簡単ではない。

これはあくまでも素人の感想であるが、形式的体系の無矛盾性を形式的体系内で証明できない理由は次のようなものではないだろうか。形式的体系内に「証明可能である」という述語を導入すると、どうしても「対角式が証明不可能である(という語)の対角式は証明不可能である」というゲーデル文を発生させてしまう。体系が無矛盾であれば、全ての命題で肯定の証明か否定の証明のどちらかができる。矛盾していればある命題で肯定と否定の両方が証明できる。しかしゲーデル文は否定も肯定も証明不可能である。したがって、ゲーデル文を含む形式的体系は矛盾する命題を含んでいなくても、無矛盾であるとも、矛盾しているとも証明することがことができないのだ。つまり、体系内の他の命題が全て無矛盾であっても、ゲーデル文のために「体系全体の無矛盾性」は証明できない。しかし、体系の外から無矛盾性を証明する場合は、体系内に「証明可能である」という述語を導入する必要がないので体系の無矛盾性も証明可能になるのではないだろうか。無矛盾性がその形式的体系の中からは証明可能でなくても無矛盾だということがあってもよいような気がする。

それでは、なぜゲーデル文が含まれる形式的体系では自分の無矛盾性を主張できないのだろうか。形式的体系が無矛盾ならばゲーデルの第一不完全性定理が証明可能であるので、その体系内で「この体系が無矛盾ならば、対角式が証明不可能である(という語)の対角式が証明不可能である(という文)は証明不可能である」という文は証明可能である。ところがこの文の後件の「対角式が証明不可能である(という語)の対角式は証明不可能である」という部分は、「対角式が証明不可能である(という語)の対角式」なので置き換えて変形すると、元々の文は、「この形式的体系が無矛盾ならば、対角式が証明不可能である(という語の)対角式は証明不可能である」となり、後件はゲーデル文そのものである。ゲーデル文は証明不可能なので、この後件は証明不可能である。したがって、「この形式的体系が無矛盾ならば」という前件も証明不可能でなければ、この命題は証明不可能になってしまう。つまり、形式的体系がゲーデル文を含んでいるかぎりその体系が無矛盾であればその無矛盾性をその体系では証明できないのだ。

また、証明可能性を述語を使わないで定義すれば良いと言う考えもあるかもしれないが、文の集合が無限集合の場合はどうしても「公理は証明可能である、証明可能な命題から論理的に演繹できるもののみが証明可能である」というような述語を使った定義しかできない。したがって、やはり、形式的体系の無矛盾性をそれ自身の体系で証明することは不可能なのである。

記号とその意味

言葉には記号としての言葉とその記号が指し示す概念(集合)とのふたつの要素が不可分に存在する。ゲーデル文を作成するためにはこの述語の性質の二重性が利用されている。集合をあらわす述語としての h と 記号としての h から構成された文 h(h) は同時にふたつの集合の要素になる結果となってしまう。このふたつの集合が矛盾している場合にはパラドックスが発生してしまうことになる。記号を用いて論理体系を組み立てる方法で述語を利用するものでは、どうしても記号そのものとその意味との二重性をまぬがれることはできないのである。

言葉の二重性からくる困難については、「あなたは私の質問に『いいえ』と答えますか。」という質問には嘘の答えしかできないことでも分かる。すなわち「いいえ」と答えると「いいえ」と言ったのにそう答えたことを否定しているので嘘を言ったことになる。「はい」と答えても「いいえ」と言わなかったのに「いいえ」と答えることを肯定しているので嘘になってしまうのである。これは、「いいえ」という発声(記号)と否定というその記号の指し示す意味の二重性がひきおこしたパラドックスなのである。言語の限界について考えることは興味深いがしかし手に余る内容である。

終りに

以上の議論では、話を単純にするために、故意に形式的体系を自然数の集合に置き換えて述べた。実際のゲーデルの証明では形式的体系の可算無限集合と自然数の集合のあいだの写像を介する複雑なネットワークで証明が進められている。著者は残念ながらその議論を追いかけて行くことができないので上のような単純化が適当なものなのかどうかを知らない。しかし、エッセンスとしては分かりやすいのではないかと思っている。ここに書いたことは、「素人にはこういう風な説明が可能であれば分かりやすいと思う」という専門家へのお願いのようなものだ。

参考文献

  1. 林 晋著「ゲーデルの謎を解く」岩波書店
  2. 高橋 昌一郎著「ゲーデルの哲学」講談社現代新書
  3. レイモンド・スマリヤン著、高橋昌一郎訳「ゲーデルの不完全性定理」丸善
  4. 竹内外史著「集合とはなにか」講談社ブルーバックス
  5. 野矢 茂樹著「無限論の教室」講談社現代新書

参考ホームページ

  1. ゲーデルと数学基礎論の歴史