ラッセルのパラドックス

エントリ書いてアップしたつもりになっていたのに消えちゃいましたorz。というわけで、激しく手を抜きながら書き直してみます。モティベーションはおとなり日記経由で見つけたこれ→http://d.hatena.ne.jp/noneno/20070906/1189054603。

このたぐいのことは、変にたとえ話をやるよりもごりごり数学的に書いちゃったほうがまだわかりやすいような気がするのですが。x\in yで「xはyの元である」、x\not\in yで「xはyの元でない」を表すことにします。ここで、x\not\in xを満たすような全ての集合を集めた集合Aを考えることにします。するとA\in AまたはA\not\in Aのどちらかが成り立っているはずです。

まずA\in Aが成り立っているとしましょう。Aはx\not\in xとなるものを集めたものであって、Aはその元になっているわけですから、A\not\in Aが成り立ちます。でも仮定からA\in Aが成り立っているのでこれは矛盾です。
ってわけで、A\not\in Aが成り立っているはずです。しかしながらAはx\not\in xとなるようなものを集めたものなわけで、それに含まれていないってことは、A\not\in Aは成り立っていない、すなわちA\in Aが成り立っているということになります。でも私たちはすでにA\not\in Aを示しているので、これは矛盾です。
というわけで、矛盾が出てきてしまいます。さあ困った。

一番普通にこれを回避する方法は「Aみたいなのは普通の論理では扱えないから考えないことにしよう。もっと普通に扱えるものだけを使うことにしよう」という取り決めをすることです。そんな感じでやっているのが、現代の一応スタンダードな公理的集合論です。それ以外にもパラドックスを回避する方法はあるようですが、私がよく知らないので書けません(おい)。
書いてみると、これまでの解説に比べてわかりやすくなっているか激しく疑問なのですが、とりあえず。

(追記)ラッセルのパラドックス:傾向と対策 (1) - あいまいな本日の私(旧)でid:ytbさんがZFC以外のラッセルのパラドックスを回避する方法について書き始めていらっしゃいます。是非そちらもお読みください。