ラッセルのパラドックスとHTML
素朴集合論と有向グラフ
素朴集合論の定義による集合の世界は、個体の間に所属関係のあるものの全体である。それは有向グラフの全体を表しているが、その有向グラフにおけるノードとしての集合は素朴なものの集まりとはあまり似ていない。あるノードからエッジを受けるノードの集まりを集合(ノード)の外延と考えてもいいが、物の集まりが集合であるという素朴集合のイメージとはかなり異なっている。
たとえば、こういう有向グラフでは、自分自身にエッジを伸ばすことができるので、自分自身を要素として含む集合も存在するが、これを一般的な素朴集合の仲間に入れるのは少々無理がある。
現実の世界にある有向グラフ
ラッセルのパラドックスが発生するのはこのような有向グラフの世界についてなのだ。これは、素朴なものの集まりとしての集合の世界とは言えないかもしれない。
ところが、このような有向グラフは現実の世界にもよく見られる構造だ。例えば、HTML文書はリンクと言う矢印付きのエッジで文書間がつながっている。HTML文書で自分自身を要素として含む集合は、自分自身にリンクがある文書だ。ただし、リンクをクリックしても文書は変わらない。素朴集合論の中で自分自身を要素として含む集合とは、HTML文書では自分自身にリンクを張った文書のことなのだ。
自分自身にリンクを張らない文書すべてにリンクを張る文書は自分自身にリンクを張れない
HTML文書で「自分自身を要素としない集合の集合」を表す文書はどのような文書だろうか。そこで、自分自身にリンクのない文書すべてにリンクを張った文書を作成してみる。しかし、その文書は自分自身が自分自身にリンクをはらないにもかかわらず、自分にリンクを張ることはできない。張ってしまうと自分自身が自分自身にリンクを張る文書になってしまうからだ。ラッセルのパラドックスを引き起こすHTML文書はこのような文書なのだ。
「自分自身を要素として含まない集合の集合」は自分自身を要素として含むとも含まないとも言えないというと何か煙に巻かれたような気持ちになるが、これを HTML 文書に置き換えると、有向グラフの自然な性質であると直感的に理解できる。
二値論理と有向グラフ
有向グラフの世界では、自分自身を要素として含む集合のようなものは現実にも存在しているのがわかる。そのような有向グラフに対しては二値論理を適用できない場合もあるというのが、ラッセルのパラドックスなのだろう。