このところずっと、Yanofsky “A Universal Approach to Self-Referential Paradoxes, Incompleteness and Fixed Points”を参考に「ローヴェルの不動点定理」についてエントリーしている。まあ、それはこの定理がぼくにとっては衝撃で、圏論の威力を思い知らされたものだからだ。
それで今回は、前回に引き続き、「ゲーデルの不完全性定理」についてYanofskyの論文から引用する。前回は、「ゲーデルの不完全性定理」についてのYanofskyの証明に不備(ギャップ)があることを説明した。chatGPTが不備を発見したのだった。しかし、深刻な不備ではなく、ちょっとした修正でギャップを埋めることは可能だった。ただ、Yanofskyの論文における証明でさえ難解なのに、ギャップを埋めた証明はさらに輪を掛けて難解になるので、それについては深入りしないことにする。今回は「ローヴェルの不動点定理」を使って導かれる「不動点」がどんなもので、それを使うことでどう「ゲーデルの不完全性定理」が証明されるかを解説する。さらには、ゲーデル自身は「ω-無矛盾」という仮定の下で証明しているけど、なんでその仮定が必要なのかに焦点を当てる。実は、ぼくは『証明と論理に強くなる』(技術評論社)という本を上梓していて、そこで「ゲーデルの不完全性定理」の解説を書いていて、さらに「ω-無矛盾」という仮定が必要なことも説明しているのだけど、なぜ必要なのかにピンと来ていなかった。まあ、自著では「ゲーデルの不完全性定理」を「健全性」の仮定の下で証明したので、問題はないんだけどね。今回、Yanofsky論文をchatGPTから指南されている過程で、「ω-無矛盾」がどうして必要かを初めて理解できた。そのことをエントリーしようと思う。
まず、ペアノの公理系(自然数をモデルとする公理系)に対して、「ローヴェルの不動点定理」を適用すると、次の定理が得られる。
(定理4) 任意の一変数の論理式 に対して、閉じた文
が存在して、
ここで、とは、文
のゲーデル数のこと。ゲーデル数とは、論理式や証明図などの記号列に自然数を対応させる符号化だ。ペアノの公理系に出てくる記号・論理文・証明図はすべてゲーデル数という自然数と一対一対応させることができる。ちなみに、
と上にバーがついているのは、ゲーデル数をペアノの公理系における「数項」に変換していることを意味する。そして、
は、「ペアノの公理系(理論)内で証明可能である」を表す記号だ。
この定理4は、「任意の一変数の論理式 を与えられたとき、うまい閉じた文
を見つけてきて、そのゲーデル数
を表す数項を
に代入した文が、もとの文
とペアノの公理系において同値になる」という意味である。「同値」について、もうちょっと説明すると、「もしも文
がペアノの公理系で証明できるなら、
がペアノの公理系で証明でき、その逆も成り立つ」という意味である。
この定理4をローヴェル的に言えば、「を関数に見立てるなら、証明論的な意味での不動点としての文
が存在するよ」ということなのだ。
さて、この定理4を使って、ゲーデル自身の証明、つまり、「ω-無矛盾性」を仮定した証明を記述してみよう。まず、定理4における一変数の論理式 を、
と置く。この論理式の意味は、「すべての
は、ゲーデル数
を持つ文の証明図のゲーデル数ではない」ということ。ここで、
は、「
は、ゲーデル数
を持つ文の証明図のゲーデル数」を表す述語。
自身は、ペアノの公理系で最初から用意されている記号ではない。「
は、ゲーデル数
を持つ文の証明図のゲーデル数」ということを表すペアノの公理系の記号だけで表した論理式が存在していて、根性があればそれをきちんと記述することが可能なのだが(ここがゲーデルの仕事の画期的なところのひとつ!)、想像を絶する長さの文になるので、それを簡単な記号で表しているのである。(これは、「表現」とか「捕捉」とか言う用語で説明されるのだけど、ここでは深入りしない。詳しくは拙著『証明と論理に強くなる』を参照のこと)。
話を進めよう。定理4において、を、
と置くことで、
という同値関係が得られる。これは、「あるが存在して、
と、『
には証明が存在しない』という文が同値であることが、ペアノの公理系内で証明できる」ということを意味している。これから、「ω-無矛盾性」の仮定の下、「自然数についてのこの文
について、ペアノの公理系では
も
も証明できない」が示されるのだ。どうやるのか。
まず、がペアノの公理系で証明されたと仮定しよう。すると、上の同値性から、
がペアノの公理系で証明できることになる。ところで、
が証明できるということは、その証明図が実際に存在する、ということだ。その証明図のゲーデル数を
とする。すると、
がペアノの公理系で証明できることになる(ここに「捕捉」という概念が使われるけど、スルーする)。しかし、上の
における
に
を代入した
も証明される(∀についての推論規則:拙著参照のこと←しつこい。笑)。これは矛盾である。
以上でがペアノの公理系で証明できないことが示された。
次に、「も証明できない」ことを導こう。こっちにおいて「ω-無矛盾性」の仮定が必要になる。どうやるか。
方針は「がペアノの公理系で証明できる」と仮定して矛盾を導くことだ。上記の同値関係の「対偶」を考えると、
がペアノの公理系で証明できることになる。この論理文は、
と同値なので、これは証明できることになる。問題はここからだ。この文は、「文
の証明図のゲーデル数の数項となる
が存在する」という意味だ。論理学の専門家ではないぼくなどは、「じゃあ、文
の証明図が実際に存在するわけね、それじゃ
が証明できると仮定しているんだから、矛盾にたどりついたわけだ」と思ってしまう。ところがそうじゃないのだ。
から具体的な数項
に対する
を導くことはできない。実際、PAで存在文が証明できても、その存在文を満たす具体的な自然数を取り出せるとは限らないのだ。chatGPTが言うところでは、「推論規則として取り出せないだけではなく、形式体系の証明可能性と標準自然数における真理の違いに関係する」ということらしい。(前述の自著で「述語論理の推論規則」を説明していながら、このことに思い至らなかったのは情けない)。
先に進もう。証明の前半部で、「がペアノの公理系で証明できない」ことを示した。このことから、
の証明図のゲーデル数が存在しないことがわかった。したがって、任意の自然数
に対して、
がペアノの公理系で証明できる(これも「捕捉」と呼ばれる性質)。さて、これでうまくいったか、と言うと、これもそうではないのだ。「
がペアノの公理系で証明できる」と「任意の自然数
に対して、
がペアノの公理系で証明できる」とが、示せても、通常の意味での「無矛盾性」に反するとはいえない。なぜなら、「任意の自然数
に対して、
がペアノの公理系で証明できる」ことから、「論理文
がペアノの公理系で証明できる」と結論できるわけではないからだ。
ここでいよいよ、「ω-無矛盾性」の登場となる。「ω-無矛盾性」とは、「任意の一変数の論理式 について、『すべての自然数
に対して、
がペアノの公理系で証明できる』ならば、
をペアノの公理系では証明できない」という性質だ。これを用いれば、「任意の自然数
に対して、
がペアノの公理系で証明できる」から、「
がペアノの公理系で証明できない」ことが導ける。これでめでたく、上で出てきた「
がペアノの公理系で証明できる」という事実と矛盾を起こすことになって、無事、「
が証明できる」と仮定したことから矛盾が引き起こされた。
だいぶ長くなったが、以上から、「自然数についての文で、ペアノの公理系では
も
も証明できないものが存在する」という定理が得られた。
読んできて実感したと思うが、この「ω-無矛盾性」の仮定はいかにも目の上のたんこぶだ。なんとか、ただの「無矛盾性」の仮定だけで証明したいものだ。それに成功したのが、ロッサーである。次回は、その「ゲーデル・ロッサーの定理」について、Yanofskyの論文から引用する予定だ。もちろん、chatGPTの力を借りて。





