finding fantasyさんへの返信。

finding fantasy 2014/08/21 01:45


どうも、厚意に甘えて早速質問です。


ゲーデル不完全性定理についてなんですが、ゲーデル命題ありますよね。この命題は証明できない、ですがこれは命題論理の式に置き換えられて、更にゲーデル数に書き換えられますね。


例えば2+2は4であるは証明できないなら偽と言う答えが機械的に出てきますよね。つまりきちんとそういう公理系がプログラミングがされた場合ですが。ゲーデル命題の場合コンピュータはどのような回答をするんでしょうか。フリーズ状態ですかね。


門外漢の素朴な質問なので中学生ぐらいに説明する感じでお願いします。ずっと気になってたんですよ。


テクニカルタームの誤用は大目に見てください。


ウスペンスキー こういうのはまた違った意味で興味がありますよ。初めて知りました。


ある命題をその体系の中で証明しようとするのが不可能であるということと算術的な証明の自明性は全く関係がありません。自己言及のパラドクスや「私は嘘つきである」系のパラドクスは論理系で起きるパラドクスですが、ではその論理系でパラドクスが起きるからその論理系は使い物にならないということになりますか?ってことなんですよね。このパラドクスが起きるから算術的な事実に関してもその体系では真であると証明不可能になるので算術全般の自明性が無くなってしまうということになりますか?ってことにもなるんですが、パラドクスというのは限られたある特殊な命題の下で起こりうるというだけで、パラドクスが起きるということがその体系の自明性を滅ぼすのか?というとそれは違うんですよね。


あと「証明できないなら偽」という答えが機械的に出てくるという話がありますが、これは間違いです。この「証明できないなら偽」という論理的には間違ったものを公理系としてプログラミングした場合はそれはその公理の中では「正しい」ものとなりますが、そもそも誤っているものを公理系としてプログラミングすること自体の動機が分からないし、仮にそれを公理として、その中で何が起こる?ということを考えても意味はないですよね。


普通のコンピューターの場合「証明できないなら偽」という公理は成り立ちませんが、仮にその成り立たない公理を置いた場合、コンピューターはどう回答するか?という話になってしまうと、それは端的に言ってただのナンセンスに陥りますよね。比喩で言えば2+2=5になるような公理系では何が起こるのか?ということを考えるようなものなので、そもそも思考実験として成り立たなくなりますよね。なんでこれがナンセンスなのか?というと色々と理由はありますが、人間のコモンセンスと合わないからですよね。この「センス」っていう言葉が凄く重要ですよね。「センスしないもの」っていうことなわけで、2+2=5になる世界というのは人間が飛べたり超能力を使えるような世界みたいなものですよね。まぁいつかは人間が飛べたり超能力を使えるようになったとしても現状では不可能なのでそれはありえない世界ですよね。


ちなみに「偽」というのも「真」と同じく証明を要するもので「証明できない」ということ自体はそれは真でも偽でもありません。ゲーデル不完全性定理が数学体系の自明性に全く影響がないのはそういうことなんですよね。それが最初に書いた、ある命題をある体系の中で真であるということが証明不可能であるということと算術的に真であるものの自明性というのが全く関係ないという話になるんです。2+2=4であるということをその体系内で証明しようとしても無理であっても、算術的な事実である2+2=4の自明性は揺らぎませんよね。でもそれ自体は証明できないから2+2=4であるということが疑わしいということになるのか?っていうとまずそれはありませんよね。それ自体を真とその体系内で証明しようとするとパラドクスが起きるということと事実そのものが関係ないというのは、例えば「今、耳蝉がこれを書いている」ということを真としてそれ自体を証明しようとするとパラドクスが起こったとしても、「今、耳蝉がこれを書いている」という事実は揺らがないからですよね。


それを言い出すと何でもかんでも真偽は分からないってことになっちゃいますよね。結局、真なものというのは「これは真である」と言えるわけで、つまりは全部が「これは真である」という命題に置き換えることが出来るってことになりますよね。で、それは論理の都合上、数学的には真であるということは証明できなかったとしても世界で成立している「真な事柄」に関しての自明性は揺らぎませんよね。


・・・と一応ここまで書きましたが、多分、finding fantasyさんはゲーデル文で偽とされているものに関してコンピューターはどういった反応をするのか?ということを質問しているだけかもしれないので簡単に書きますと、これは単純に数学的に式でそれは表現できないので成立しないということになりますね。これは本当にただのテクニカルな話で定義不可能性定理とかって言われますけど、ゲーデル自身は当然発見していてそれとは別にタルスキも同じような時期に発見しています。


http://en.wikipedia.org/wiki/Tarski's_undefinability_theorem


中学生にも分かるように説明するなら、「算術的な変換のプロセスでは意味論は扱えない」って感じになりますかね。これは今回書いたことの要約にもなりますね。算術的な変換のプロセスでは意味論は扱えないからといってではその算術自体に問題があるのか?っていうとそんなことはないってことですね。ただの互換性の問題って話ですね。俗説でゲーデル不完全性定理によって数学の自明性は揺らいだ的な感じの話がありますが、これは完全に概念エラーですね。算術的プロセスで意味論は扱えないので算術自体に不備があると考えるか、あとはまぁ逆で算術的プロセスで意味論は扱えないので意味論自体がそもそも証明不可能だから意味論全般の自明性が無くなってしまうという風に考えるか?ってことですね。「いや、そんなわけないでしょ」っていう理由が主に今回書いたことですね。


ご存知かと思いますが、ゲーデル不完全性定理というのはちゃんと理解されずに変な解釈をされて乱用されまくってるんですね。この定理自体は有名ですがちゃんと理解されているか?というと微妙ですよね。俗流の理解のほうが多いでしょうね。でもまぁしょうがないことだとは思います。間違った理解をされやすいし、ちゃんと理解するということになると結構まともな論理学と数学の知識が必要になるので間違われて当然って感じがしますね。僕も最初は俗流の理解をしていたんでそこはよく分かります(笑)で、僕がちゃんと理解できるようになったのはある程度勉強してからですよね。


で、それは良い解説書に出会えたとかそういうことではなくて、ちゃんと論理学と数学を理解したから結果的に理解できるようになったっていう感じです。数理ファイナンスとかの場合、間違った理解が世界を滅ぼしたりすることになりますが、ゲーデル関係の話の場合、実害は無いのでそんなに憂慮するようなことでもないんですよね。ゲーデル関係に限らず大体人ってどこかしらで概念エラー起こしてますからね。もちろん僕も含めてです。それ自体をそもそも完全に正すなんてことは不可能ですからね。まぁでも自分はこういう概念全般のことをやってる人間なので出来る限り概念エラーは無くしていきたいって思ってますけどね。


まぁそんな感じで今回の返信を終えたいと思いますが、最後に一応補足として書いておきたいんですが、意味論を扱うような論理学とか真と偽だけではない論理学なんてのはあるので、一概に算術的プロセスでは意味論は扱えないということにはならないんですが、でもこういった論理学は原始的な命題の算術化をするのではなくて論理学として意味論を扱うというものなので、単純な算術的プロセスとは違うんですよね。なので単純な命題の算術的変換では意味論は扱えないということは間違っていないと思います。でもそれは数学が意味論を扱えないということを意味するものではないということですね。


PS


今回の話のテクニカルな部分については


https://www.cs.auckland.ac.nz/~chaitin/unknowable/


https://www.cs.auckland.ac.nz/~chaitin/lm.html


などを参照してみてください。