注:この記事の内容には、問題があるようなので、勉強して書き直す予定です。 ゲーデルの不完全性定理を読んでも理解できない Lisper のために、Lisp のコードで不完全性定理を説明してみる。昨日と同様に Emacs Lisp を使うが、Common Lisp や Scheme でもコードはあまり変らない。 ゲーデルの不完全性定理 ゲーデルの不完全性定理とは、おおざっぱに言うと「(自然数論を含む帰納的に記述できる)公理系が無矛盾であれば、証明も反証もできない命題が存在する」と言うことだ。これは嘘つきのパラドックスと似ていると言われている。 嘘つきのパラドックスとは、「この文は嘘である」という文は、正しいとも間違っていると言えないということ。この文が正しいと仮定すると、この文は嘘となり、仮定と一致しない。一方、この文が間違っていると仮定すると、この文は嘘ではなくなり、文の内容と一致しない。矛