なぜ素朴集合論は矛盾するのか

素朴集合論では集合は「ものの集まりというもの」であると考える。この考え方が便利なのはものの集まりである集合を1つのものと考えることによって、その集合を要素とする集合を考えることができることだ。また、集合を単なる個体と同列に置くことで、個体と集合からなる集合のようなものも簡単に考えることができる。

このことは、集合の要素として様々なレベルの集合を等しくとり得ることを意味するので、複雑な概念を簡潔に表現することができる。これは、個体や個体の集合や集合の集合などを同列のものとして取り扱うことができることによる、概念の操作の革命だ。数学に現れる複雑な概念の構造は集合の考え方を使うことで簡潔な表現を手に入れることになる。

しかし、物の集まりと集合としてのものの関係をどう表現したらいいだろうか、a, b, c というものがあったとしてそれを集合としてまとめた {a, b, c} という集合をひとつのものとして扱うとき、この集合という「もの」は a, b, c というものの集まりとは異なる。この区別が分かりやすいように {a, b, c} に A という名前をつけてみよう。すなわち、

A = {a, b, c}

とする。こうすると A と a, b, c の集まりの関係がはっきりしてくる。つまり、A は a, b, c の集まりそのものではないが、a, b, c の集まりを指し示す記号の役割を果たしている。素朴集合論ではこのような A と a, b, c を同列の対象として扱うから、A を要素とする {A} や {a, A} のような集合も作ることができる。

このように素朴集合論では個体も集合も集合の集合もおしなべてもの(対象)として扱うことができるからこれを区別せずに a, b, c, .... で表すことにする。このような対象の集まりを領域 D と呼ぶことにする。この領域 D ではたして集合はきちんと表現できるのだろうか。

このような領域 D にはどれが個体でどれが集合であるというような区別はない。しかし、個々の対象を取り上げたとき、そこには帰属関係という関係性がある。つまり、a という対象が b という対象をその要素とするとき(b が a に帰属しているとき)その関係を、

a ∋ b

で表すことができる。これはこの対象の集まりのどの2つの対象についても一方が他方に帰属するかどうかという関係を考えることができる。したがって、素朴集合の世界は、このように2つの対象の間に帰属関係が定義された対象のネットワークの全てと考えることができないだろうか。

このネットワークは2つの構成要素からできている。1つは対象の集まりであり、もう一つは対象と対象の帰属関係を表す評価関数 ψ(x, y) である。ψ(x, y) は2つの対象を引数とし、x が y を要素としていれば、すなわち x ∋ y なら1の値をとり、そうでなければ 0 の値をとる。ψ(x, y) は全ての対象間の帰属関係を表現できるので、このネットワークで全ての集合を表すことができそうに思える。

ところで、対象 a が集合のときその外延すなわち {b, c, d} という対象の集まりをどのようにして見つけることができるだろうか。それは評価関数 ψ(x, y) を使うことで簡単にできる。対象 x の外延を見つけるために全ての対象 a, b, c, ... に対して ψ(x, a), ψ(x, b), ... と評価関数の値を求めその数列を求める。その数列はたとえば 0, 1, 0, 0, 1, ... のようになっているかもしれない。x の外延はこの数列の値が 1 になっている要素を集めることで得ることができる。例えば上の数列の場合、x = {b, e, ... } である。

そこで、縦に対象をとり横にその対象が要素として含む可能性のある対象を並べ、各行列に評価関数 ψ(x, y) の値をおいた次のような正方行列を考える。

** a b c ...
a 0 1 0 ...
b 1 1 0 ...
c 0 0 1 ...

この正方行列の演算表は対象と対象の全ての帰属関係を記述している。そうして、この演算表の横の行の数列は、その行の対象に帰属する対象の集まり、すなわち外延を表していることが分かる。なぜなら、その数列の値が1になるような対象はすべてその行の対象に帰属しているからだ。

ところで、この演算表を見たときあれっと思う人は多いだろう。そのとおりでこれはカントールの定理に出てきた対角線論法の表と同じものだ。したがって、この演算表には致命的な欠陥がある。つまり、この演算表の対角線部分を反転させて作る数列 1 0 0 ... はある対象の集合を表しているが、この数列は上の演算表のどこにも現れない。なぜなら、演算表のどの行とも対角線部分で異なっているからだ。

このことは、素朴集合の世界の全てを対象とその帰属関係というネットワークで表すことはできないことを示している。つまり、全ての集合を対象とその帰属関係で表すことは不可能なのだ。対角線部分を逆転した数列がしめす集合は自分自身を要素として含まない集合の集合だが、そのような集合をこの演算表の上に表すことはできないのだ。

なぜこのようなことが起きるのか領域 D = {a, b, c} の場合を考えてみよう。領域 D の要素を集めた集合は次のように8個ある。

{}, {a}, {b}, {c}, {a,b}, {a,c}, {b,c}, {a,b,c}

この集合を全て対象 a, b, c だけで表すことは明らかに不可能だ。強いて帰属関係で表そうとすれば次のように対象を追加して演算表を作らなければならないが、これは正方行列にはならない。

** a b c
a 0 0 0
b 1 0 0
c 0 1 0
d 0 0 1
e 1 1 0
f 1 0 1
g 0 1 1
h 1 1 1

また、領域 D が無限集合であったとしても正方行列の演算表では全ての集合をあらわすことはできない。これを全ての集合は対象と帰属関係で表現できるとしたところが、素朴集合論にあらわれた矛盾の正体だったのだ。

ほとんどの数学的対象で集合は矛盾を起こさないように見える。この場合は数学では領域 D は実数などの集合であり、その要素の中には集合は含まれない。自分自身を要素として含まない集合の集合などは領域 D の要素には存在しないため矛盾が起きないのだろう。

追記

素朴集合論の世界を対象と対象間の帰属関係というネットワークでとらえようとしたところが素朴集合論の矛盾の原因だ。領域 D の対象の冪集合の要素(すなわち領域 D の部分集合)全てを領域 D の対象だけで代表させることは不可能なのに、それができると仮定するからだ。その仮定に立てば、領域 D の要素間の正方演算表で全ての領域 D の集合を表すことができなければならないが、そうではないので、対角線論法による矛盾が発生する。

領域 D の部分集合を表す記号を領域 D の内部に求めなければ、領域 D の部分集合全てを表す記号を考えることはできるので、矛盾は発生しない。たとえば、領域 D = {a, b, c} のときその部分集合を x = {}, y = {a}, z = {b} のように集合の空間 S = {x, y, z, ...} で捉えることにすると、領域 D の全ての集合を集合の空間 S で表現でき、領域 D の全ての部分集合間の演算は、S の上で完結している。数学で多用される集合で矛盾が見られないように思われるのは、数学の対象 では領域 D は実数などの集合でその要素に集合を含まないため、領域 D の部分集合の空間 S が領域 D とは独立しているからではないだろうか。

[PR]
by tnomura9 | 2017-10-08 09:11 | ラッセルのパラドックス | Comments(0)
<< 矛盾の無い集合論 理解のタイムラグ >>