# ラッセルのパラドックス ## そもそもパラドクスとは何か? パラドクスとは、**正しい前提から正しい推論を経て間違った結論に至る**現象のことである。 * 正しい前提とは、数学や論理学では**公理**と呼ばれる。 * 正しい推論とは、例えば3段論法であったり背理法であったりと正しいと認められている推論方法を繰り返すことで行われる推論のこと。 * ここでいう間違った結論とは、例えば矛盾など。 ## パラドクスが生じてしまうと何が問題なのか? 数学の命題や定理などは、ある公理のもとで成り立つ現象のことである。 公理系のもとで成り立つかどうかが分かれるため、定理や命題を考える必要がでてくる。 しかし、そのような公理からパラドクスが生まれてしまうと、++矛盾律や背理法を正しいと認めている系では任意の命題が成り立つことになってしまう++。これでは、そのような公理系で議論をしていく意味がなくなり、数学そのものの危機となってしまう。 イメージとしては以下のようなもの。 公理 $\sf A$ から矛盾が生じてしまうとする。ある命題 $\sf P$ を証明したいときには、命題 $\sf \lnot P$ を仮定する。その後、$\sf A$ は公理なので仮定をおかずに導くことができ、その $\sf A$ から矛盾が導かれる。従って $\sf P$ である。 # ラッセルからフレーゲへの手紙 この手紙の内容は、フレーゲ著の『算術の基本法則』の中における集合論の公理に矛盾が生じる、というものであった。 実際に送られた書簡の一部を抜粋したものが以下である。 > **学兄は17頁で関数は無限の要素を構成することもできると主張しておられます。私も以前はそう信じておりましたけれども、今ではこの見解は疑わしいと思えるのです。その理由は以下申し上げる矛盾のゆえであります。++ω を、つぎのような述語としましょう。すなわち、自己自身については述語づけられえない述語とします。この ω は自己自身について述語づけられうるでしょうか? できる・できないのいずれの答からもその反対が帰結します。それゆえ ω は述語ではない、とわれわれは結論しなければなりません++。同様にして、++全体として自已自身に属さないところの諸クラスのクラス(全体としてのクラス)は存在しません++。このことから私は、或る事情の下では、定義可能なクラスが全体を形成しないことがあると結論いたします。** 専門用語が多くて(概念記法や算術の基本法則を読んでみないと)よく分からんな、となってしまったが、自分なりに理解した内容を以下に示す。まず、最初の架線部については、 * ω は自己自身については述語づけられえない述語としている。 * ”述語づける”という表現はどうやらラッセル独自のものらしい。 * 述語の変項に代入できる、というような意味に解釈した。 * なので、この ω は自己自身について述語づけられるとすれば直ちに矛盾が生じる。 * だからといって、この ω が自己自身について述語づけられないとするならば、「$\sf \varphi (x)$:$\sf x$ は自己自身について述語づけられない」という述語によって述語付けられてしまい矛盾が生じる。 ということをいっている。2つ目の下線部は、 * ここでいうクラスとは集合のことを指している? * よって、「全体として自已自身に属さないところの諸クラスのクラス」とは「自分自身を内部に含まない集合の集合」というものを指している。 * 式で書くと $\sf R = \{\sf x \;|\; x \notin x\}$ いろいろな文献を漁ってみると、2つ目の下線部に関するものが多かった(数学の集合論に関するパラドックス)。そのため、言語哲学とは少し離れるかもしれないが、2つ目の下線部についてを詳しく見ていき、要所で言語哲学についても絡めていきたい。 :::info :information_source: ラッセルとフレーゲの間で21通もの書簡が送られたらしい。上記の抜粋はその最初の一通に書いてあることである、ということだけは注意してもらいたい。 ::: ## 問題となった部分 当時、集合論の基礎として考えられていた**包括原理**と呼ばれる公理が矛盾を生じさせていた。 これは以下のようなもので、非常に強力な集合の存在を保証するものである。 > **任意の述語 $\sf \varphi (x)$ について、その述語を満たす対象を集めた集合 $\{\sf x \;|\; \varphi (x)\}$ が存在する。** 例えば、述語として「$\sf x$ は赤い」をとってきた場合、これを真とするこの世界に存在する対象全ての集合を考えることができる、というわけである。 ## パラドクスの内容 包括原理は、述語さえ明確に言えてしまえばそれを満たす集合は必ず存在する、という割と何でもありなものとなっている。そこで、以下のような集合を考える。 > **$\sf R = \{\sf x \;|\; x \notin x\}$** この集合で使われている $\sf x \notin x$ は明確に述語として認めることができるので、包括原理により $\sf R$ は存在するということになる。この $\sf R$ について、$\sf R \in R$ と仮定しても $\sf R \notin R$ と仮定しても矛盾が生じる。従って、何も仮定せずに矛盾が生じる論理体系となってしまうことが分かる。 :::info 💡 自分自身を要素に持つ集合の例 * 全ての集合を含む集合 * あなたが今日考えたものの集合 ::: ## パラドクスの原因と考えられるもの 自分自身が規定している内容に自分自身があてはまるかどうかを問うこと。 この**自己言及**をなくすことがパラドクス回避への道ではないだろうか? :::info 💡 他のパラドクスを見ても、やはり似たような構造をとっていることが分かる。 「私は今ウソをついている」という文は、この発言が指す対象がこの発言自体となっている。 ::: # パラドクスの解決方法1 ラッセルは色々と試行錯誤をして、このパラドクスの解決に取り組んだ。 最初に試みたのが、自己言及を禁止するための**悪循環原理**を規定する、というものである。 悪循環原理とは以下のようなものだ。 > ある集まりが、その全体によって++しか++定義できない要素を含む場合、その集まりは++全体を持たない++。 重要な部分に線を引いた。 2つ目の「全体を持たない」と表現したのには意味がある。意味的には「存在しない」と同じものに感じられるが、ここでは存在の可否すら問うことができない(ナンセンスな)ものとしている。意味の世界に踏み入れることすらも禁止するのが、この原理の目的である。 ## 失敗 この原理を導入すると、禁じなくて良いものまで禁じてしまう、というようなことが起こってしまう。代表例が排中律だ。 > 全ての命題は真か真でないかのどちらかだ。 全ての命題は〜とあるように、この命題自体は全ての命題の集まりを前提としている。これでは悪循環原理によって、「全ての命題の集まり」というものを考えることすらできなくなってしまう。 # パラドクスの解決方法2 悪循環原理の厳しすぎる制約を緩和させるために考案されたのが、**タイプ理論**というものである。これは、自己言及を禁止するのではなく、++自己言及をそもそもできなくさせてしまおう++、といったアプローチである。 :::info この解決方法は、論理に対してではなく言語に対して制約を課す、というものである。 言語哲学的にはこっちのほうがいいのかな、と思った。 ::: これまで、量化の範囲に制限はなかった。その結果、述語の項に自分自身を適用することが許されてしまい、自己言及が起きてしまった。なので、量化の範囲を制限しよう、というのがこの方法である。 タイプ理論では世の中にあるものを全て階層に分ける。 * 集合であれば、個物のタイプが0だとしたら、それら個物の集合はタイプ1となり、それら個物の集合の集合はタイプ2となり、・・・。タイプnの集合からなる集合はタイプn+1に含まれる、と言った具合である。 * 自然数の定義でも使われる。空集合が0であり、空集合の集合が1、・・・。 ![](https://hackmd.io/_uploads/HycAofzz6.jpg) このようにタイプ分けすることで、例えば「あらゆる集合の集合」といったものを考えられなくなる。もし、集合として存在するなら、あるタイプnの集合となるが、このタイプnの集合はタイプn-1以下の集合しか含まず、従ってタイプnの自身を含まない集合となってしまう。 同様に $\sf R = \{\sf x \;|\; x \notin x\}$ という集合も考えることができない。集合を言及するには、タイプを決めてから行う必要があるが、タイプを決めた時点で全ての集合を指すことはできないのだから。 文についてもタイプ理論は考えることができる。述語が受け取る項は、述語よりも低いタイプの項しか受け取れない、と考えるのだ。こうすることで、 > この文は偽である。 といった文の自己言及を禁止できる。この文のタイプをnとすると、言及されている「この文」に受け取れる項はタイプがn-1以下であり、この文全体を項として受け取ることはできない。 ![](https://hackmd.io/_uploads/ry1ZCMMfa.jpg) :::info この述語の量化におけるタイプは**階**と呼ばれる。 ::: # 最後に ## パラドクスの原因について ラッセルは、パラドクスの原因を「自己言及」として解決を試みてきた。 しかし、後年のタルスキなど別の原因でパラドクスの回避を試みている。特に、自己言及がなくてもパラドクスは生じうることもあり、その解決に向けメタ言語という考えを導入したりしている(参考:戸田山「論理学を作る」)。 こちらも参考にしてみたい。 ## パラドクスの解決方法について 包括原理の方には制限を加えずに、論理の方に変項を加える、といった方法をとることもできる。 また、数学の集合論としての回避法としては、公理を書き換えるというものがある。有名なのは、ZF集合論の**分出公理**である。これは、ある述語を満たすような集合を考えるとき、大枠となる集合を一緒に考える必要がある、という制限を課している。詳しくはぐぐって! 包括原理をそのまま採用した例として**線形論理**などが存在しており、プログラミング言語などに応用されていたりするらしい?