<   2015年 09月 ( 11 )   > この月の画像一覧

自然数と実数の濃度差

自然数と実数の全単射がないことを証明したカントールの対角線論法は二つの無限の濃度差を鮮やかに示したが、その濃度差がどのくらいなのかを示してはくれない。つまり、自然数と実数の濃度差が一点だけなのか、それとも無限にあるのかということである。

そこで、カントールのやり方を少し変えて、自然数と実数の対応をつけるたびに実数を整列するようにしてみた。これは挿入ソートを利用すれば無限の自然数に対しても可能である。

カントールの方法では自然数 n と0以上1未満の実数 an の対応を自然数の順に次のように並べていた。

0 : a0
1 : a1
2 : a2
...
n : an
...

しかし、これは n に対応する an が決まるたびに挿入ソートによって次のように実数の大きさ順に並べ替えていくことができる。

i : ai
j : aj
...
0 : a0
...
n : an

もちろん、このやり方では自然数 n の列は n に対応する an が決まるたびに変化していく。しかし、どんなに変化しても変わらないことがある。すなわち、隣り合う ai と aj の値が異なる限り、その間に自然数と対応していない実数が必ず存在するということだ。n の数は無限に大きくしていくことができ、n が増すたびに実数の an の列は変化していくが、どの n についても n までの自然数に対応する実数列の間に最低 n - 1 個の実数が存在する。これは、n を無限に大きくしていけば自然数と実数の濃度差が無限に大きくなるということを示している。

なぜこのようなことが起きるかというと、実数を無限小数で表現してもそれは実数の一点を示すことができず、実数の一点の存在する範囲を示しているに過ぎないからだ。つまり、カントールの対角線論法は、実数の一点が無限小数で表現できるという不十分な仮定から出発していることを示している。実数を無限小数で表現しても、それは実数の一点を表してはくれない。無限小数が完了しない限りそれは一点としては認められず、一点の存在する範囲しか示してくれないからだ。

実数の一点が無限小数で表現できない限り、自然数と実数の「一点」の全単射を考えることはできない。自然数と実数の間に全単射ができないというカントールの定理は誤ってはいないが、実数の無限小数表記と自然数の一点の違いを無視することになってしまっている。これはゼノンの飛ぶ矢のパラドックスにも似て、多少の居心地の悪さを感じさせる。

無限に増大する自然数を全て集めて自然数の集合と考える実無限の考え方は便利で、現代数学の壮大な建築群もこれなしには築くことができないだろう。しかし、実数の一点を無限小数で表記してしまうことは、実無限の誤った使い方を誘導してしまうのではないだろうか。このことは、実無限の考え方が誤っているということを示しているという訳ではないだろう。しかし、実無限をつねに可能無限とのペアで考える慎重さは必要なのではないだろうか。

[PR]
by tnomura9 | 2015-09-30 04:41 | 考えるということ | Comments(0)

構成的集合における真のクラス

ラッセルのパラドックスに現れるラッセルの集合のような真のクラスほど理解し難いものはない。述語 P(x) を充足する要素の集まりは確かに存在するのに、それを全て集めたものは集合にならず、他の集合の要素にもならないというのは納得できない感じがする。

世界の森羅万象は述語 P(x) を充足するか、充足しないかのどちらかであるという排中律には何の問題もないように見えるのに、「P(x) : x は自分自身を要素として含まない集合」を充足する集合の集合を考えるとパラドックスになってしまう。

これが人間の知性の限界を示している、人間にはどうしても理解できない領域が存在するのだと神秘的に感動してもいいかもしれないが、一体どのような述語は集合を定義できて、どのような述語は集合を定義できるのだろうかという疑問が浮かぶのは当然だ。

もうこのブログでしつこいように考察したテーマなので、簡単に要約すると、述語で定義した集合はそれ自身が述語を充足する場合と充足しない場合があるということだ。排中律的にも問題ない。これは述語で定義された集合それ自身が自分自身の要素として含まれるという意味ではない。述語で定義された集合が自分自身を要素として含まないにもかかわらず、それ自身がその述語を充足してしまうという場合だ。

集合が述語を充足しない場合は述語による内包的定義には何の問題点も発生しない。実際、集合とはそのようなものの集まりだ。

しかし、内包的定義で定義された集合それ自身が述語を充足する場合は、内包的定義では集合を定義できない。なぜなら、A = {x| P(x)} のとき P(A) が真の場合、A は A 自身の要素でなくてはならなくなる。だからといって、A が A 自身の要素となるような集合は色々な意味で好ましくない。A は自分自身を要素としては含まないと考えるべきだ。A は自分自身を含んではいないが、内包的定義で作り上げた集合が述語を充足してしまったというような場合だ。

ただし、この場合は A は P(x) を満たす全ての要素を集めた集合とは言えない。A に含まれない自分自身という要素があるからだ。そこで、A' = {A, a, b, c, ... } のように A の要素とAを加えて新しい集合 A' を作ってこれを述語 P(x) による内包的定義を満たす集合と考えることにしたらどうだろうか、しかし、残念ながら A' も P(x) を満たすつまり P(A') が真となるような述語が存在するのだ。「自分自身を要素として含まない集合」という述語や「犬でないものの集合」という述語がそうだ。このような述語では P(x) を充足する要素を集める操作を無限に続けても集合を作ることができない。無理にそういう集合を仮定するとラッセルのパラドックスのような矛盾が発生してしまう。このような場合は述語は集合を定義できず(真の)クラスを定義してしまう。

ところで、述語 P(x) によって集合が定義できる場合と、定義できない場合があるとなると、困ったことが起きる。それは排中律が保証されなくなることだ。世界は P(x) を充足するものとそうでないものに排他的に類別されるはずなのに、それが不可能になる。この場合、述語 P(x) によって定義されるものが集合ではなく、集合と真のクラスを包含した要素の集まりであるクラスであると考えることだ。こう考えると述語 P(x) によって森羅万象は P(x) を充足するクラスとそうでないクラスに分けることができる。

それでは集合とクラスの違いはなんだろうか。それは、集合は A = {x| P(x)} という内包的定義で集合 A という個体を定義できるため、それが他のクラスの要素となることができるということだ。一方真のクラスの方は {x| P(x)} という内包的定義で要素の集まりは定義できるが、それを A = {x| P(x)} という集合 A にまとめようとしてもできない。真のクラスを表す A という記号を作ることができないのだ。このためクラスはそれを他のクラスの要素とすることができない。

以上が述語による内包的定義についての集合とクラスの定義だ。これは、ものの集まりとしての集合というより述語 P(x) の性質による定義だ。

しかし、集合の定義には者の集まりという見方からの定義がある。この定義はゲーデルの構成的集合の考え方からもたらされる。つまり空集合 φ から始まって、ものを集めて集合を作るという操作でできたもののみが集合であるという定義法だ。ランク α までに作られた集合すべてを集めた集合を R(α) とすると、R(0) = {φ}、R(1) = { φ, {φ} }、R(2) = { φ, {φ}, {{φ}}, {φ, {φ}} }、... と次々にランクが上がるごとに集合が増えていくが、R(α) の要素はランク α までにはっきりと集合であると定義された集合である。言い換えると構成的集合とはどのランク α でもよいが、R(α) に含まれる要素であるものだ。また、明らかに構成的集合はすべて有限集合である。

このような構成的集合の特徴は何が集合であるかがはっきりと定義されているということだ。述語の内包的定義による方法では述語の性質によって集合が定義されたり、真のクラスが定義されたりしたが、構成的集合では何が集合であるかは、述語によらずはっきりしている。第一、構成的集合の造られ方の中に述語は存在しない。この構成的集合にもはたして集合にならない真のクラスは存在するのだろうか。

実は、構成的集合の中にも真のクラスは存在する。それは「有限集合全てを集めた集合」というクラスである。

R(α) を考える時 α は無限に大きくしていくことができる。しかし、どのように大きく α をとったとしても R(α) の要素数は有限である。ところが、有限集合全てを集めた集合の要素数は無限であるはずだ。なぜなら、そのような集合の要素数を n とすると、要素数が n より大きい R(α) を取ることができる。しかし、R(α) の冪集合を考えると、その冪集合の要素の中には R(α) に含まれないものが存在する。これは R(α) が有限集合全てを集めた集合であるという仮定に反する。したがって、「有限集合全てを集めた集合」の要素数は無限でなければならない。ところが、構成的集合は全て有限集合である。したがって、「有限集合全てを集めた集合」は構成的集合ではなく真のクラスである。その場合でも、あきらかにどのような有限集合をとっても、α を適切にとって R(α) の要素とすることができる。すなわち、「有限集合」は無限に存在する。つまり、「有限集合」の(要素の集まりという意味の)クラスは定義できる。

集合を述語による内包的定義からとらえた場合も、集合をものの集まりというものという観点からとらえた場合も、集合として定義できないクラスが存在することが分かった。このようなクラスは他の集合の要素となることはできないため、真のクラスであるラッセルの集合は自分自身の要素となることはできず、ラッセルのパラドックスは発生しない。このような真のクラスがどのような生態をしているのかを内包的述語による集合の定義の立場からと、物の集まりを集合とするという集合の定義の視点からとで考えてみた。

論理における排中律は、内包的定義が(集合ではなく)クラスを定義すると考えることで、集合の世界に持ち込むことができる。また、クラスのなかでどのような物が集合となり、どのようなものが真のクラスになるのかを考えると、ラッセルのパラドックスを回避することができる。

ものの集まりは全て集合であると単純に考えることができない理由は、集合はものの集まりというものであるという集合を個体と考える定義によって発生するのは以前の記事で述べた。

また、この記事とは直接には関連しないが、前回の記事で述べたように構成的集合には無限集合は含まれておらず、集合の世界に無限集合を持ち込むためには、自然数の全てを集めたものは集合であるという公理が必要だという考え方も面白いのではないだろうかと思う。実無限が正しいのか、可能無限が正しいのかという議論をよく目にするが、自然数の全てを集めた集合が存在するという実無限の考え方を導入することによって、ものの集まりという集合の世界の広がりが格段に増すことがわかる。実無限の考え方と可能無限の考え方はお互いに補い合いながら集合の適用範囲を格段に広げてくれているのは、昨今のコンピューターの発展をみれば一目瞭然だ。

ラッセルのパラドックスを端緒に作成した一連の記事は、素朴集合論に矛盾があったから公理的集合論で矛盾の解消を解決したという数学の説明に納得がいかなかったからだ。矛盾があるのならどうしてそのような矛盾が発生してくるのか、どうすればその矛盾を解決するのかについての視覚的なイメージが欲しかった。数学の専門家ではないので論理だけで説明されても辛い。専門家でなくても分かるようなイメージのモデルがほしかった。

色々と考えたり参考書を読んだりして分かってきたのは、物の集まりとそれを集合という対象として考えるという定義や、全ての自然数の集まりは集合であるという実無限の単純な定義から、集合の世界の複雑な構造が導き出されるているということだ。集合の定義の単純性とそれから構築されるジャングルのような複雑な構造が面白かった。

ラッセルのパラドックスの記事が続いてしまったが、一応今回の記事でおしまいにしたい。このブログのラッセルのパラドックスに関する一連の記事は、あくまでも素人がふらりと数学の世界を訪れてさまよっている状態のレポートなので、これが正しいのかどうかは何の保障もない。おそらく致命的な多くの誤りを含んでいるだろうがそれを知る縁もない。しかし、色々と考えるのは面白かった。SFの一種と思って楽しんでいただければ幸いだ。

[PR]
by tnomura9 | 2015-09-27 18:12 | 考えるということ | Comments(0)

構成的集合による無限集合

ゲーデルの構成的集合は空集合 φ から初めて、ランクを一つ上がるごとに、現在のランクの集合を元にした集合を追加していく。

たとえばランク 0 の集合は φ だ。ランク 1 の集合はこれを作って {φ} を作ることができる。すでにある φ も含めてランク 1 以下の集合からなる集合 R(0) を考えると R(1) = {φ, {φ}} である。同様の手続きで R(2) = {φ, {φ}, {{φ}}, {φ, {φ}}}, R(3) = {φ, {φ}, {{φ}}, {{{φ}}}, {{φ, {φ}}, {φ, {φ}}, {φ, {{φ}}, {φ, {φ, {φ}}}, {{φ}, {{φ}}}, {{φ}, {{φ}, {φ, {φ}}}, {{{φ}}, {φ, {φ}}}, {φ, {φ}, {{φ}}}, {φ, {{φ}}, {φ, {φ}, {φ, {φ}}}, {φ, {{φ}}, {φ, {φ}}}, {{φ}, {{φ}}, {φ, {φ}}}, {φ, {φ}, {{φ}}, {φ, {φ}}}, R(4) = { .... }, ... とR(α) の数は2αで増えていく。また集合 A のべき集合を P(A) とすると、

R(α+1) = P(R(α))

である。

このように R(α) の要素の集合はランクを上がるごとに無限に増えていくが、しかしどのように α が増加したとしても R(α) の要素は有限集合である。ここまでのやり方では無限集合を作り出すことができない。

そこで、無限集合を定義するためにトリックが使われる。全ての自然数の集合 ω = {0, 1, 2, ..., } を自然数の無限大の次に来る数と考えて R(ω) を考えることにするのだ。つまり、0, 1, 2, ... , ω と考える。無限に存在する自然数を集めて集合を作れるかどうかは自然数をランクとする構成的手法では導きだせない。その手法で作られる集合は全て有限集合だからだ。したがって、ω が集合であると考える根拠はなく、そういうものとして考えましょうという公理であると考えるべきだ。つまり、ものの集まりは集合であるという公理のほかに、自然数全体のあつまりは集合であるという第2の公理が暗黙のうちに仮定される。

このωを使って R(ω) を考えると、R(ω) の要素の中にはめでたく、自然数の集合を始めとする無限集合が含まれることになる。それだけでなく、R(ω + 1)、R(ω + 2)、... と自然数の無限の地平を超えてさらに遠くに集合の世界を広げていくことができる。

このように「ものの集まりは集合というものである」という定義は、「自然数の全てもまた集合である」という無限集合の公理を得て、集合の概念が無限の要素を含む無限集合に拡張されることになる。

自分自身の部分集合と全単射を作ることができるという自然数の集合の不可解な性質は、有限集合には絶対にみられない。これは、自然数の集合という無限集合が有限集合を拡張するものとして新たな公理によって定められた約束事であるからではないか。

[PR]
by tnomura9 | 2015-09-26 18:38 | 考えるということ | Comments(0)

ものの集まりという集合と内包的定義による集合

集合にはものの集まりとしての定義と、ある性質を満たす要素の全体としての定義の二つがある。

たとえば、目の前に色とりどりのボールがあるときに、赤いボールだけを一つずつ集めるとそれは「赤いボールを集めた」集合になる。また、ボールの赤いという性質に注目すると、「赤いボールの集合」について考えることができ、それも集合だ。前者は実際にボールを集めてきて作った集合だが、後者は「赤いボールを集めると集合になるだろう」という判断だけで実際にボールを全て集めた訳ではない。有限集合の場合はこの二つの定義方法の結果は一致するので問題ない。実際に数え尽くすことができるからだ。

しかし、無限集合の場合は事情が少し異なってくる。たとえば、自然数の集合の場合について考えてみよう。自然数は有理数や実数とはあきらかに異なるので、自然数全てを集めた集合を考えるのは明白なような気がする。しかし、自然数を 1, 2, 3, ... と集めていってもいつまでも自然数全体には達しないのだ。自然数の集合については、そういうものがあるという判断だけで、自然数全体を集めることはできない。内包的定義に対応するものの集まりを提示することができない。

無限集合とはそういうものなのだろうが、有限集合の場合と違ってふたつの定義法による集合が一致するという保証はない。有限集合の性質、たとえば一対一対応による要素数の比較が無限集合にも適用されるという保証はないと考えた方がよいのではないか。あるいは無限集合にも有限集合の場合のような一対一対応があると考えてもいいかもしれない。しかし、どちらの場合もそれを確かめる方法がない。

無限集合にもののあつまりとしての性質と内包的定義による集合の定義とのすり合わせを行いたいと思っても、たとえばゲーデルの構成的集合についてもその体系の中に無限集合を持ち込むには、集合の構成法から無限集合を作り出すのは不可能で、どうしても無限集合の存在を公理として持ち込まなければならない(ような気がする)。無限集合とは結局のところ約束としての公理によって取り扱うことしかできない存在なのではないだろうか。

ラッセルのパラドックスも集合とクラスのどこが違うのかがはっきりと分かれば落ち着くのだろうが、集合とクラスの違いを構成的集合で理解するのは不可能で、あくまでも述語の性質の観点からのアプローチが必要なのだろう。

結局のところ集合とクラスを分ける条件とは次のような表現になるのではないだろうか。

述語を P(x) とするとき A = {x| P(x)} について P(A) が偽となる場合 A は集合である。また、任意の P(ai) が真である ai について、A' = {a1, a2, .., ai} を作った時 p(A') が真となる場合 A = {x| P(x)} は真のクラスとなる。

例えば「全ての集合の集合」の場合を考えてみる。任意の集合を集めて作った集合 A' はそれ自身が集合である。どのような A' を作ってもそれは全て集合になるので「全ての集合の集合」は集合ではなく真のクラスでありこれは他の集合の要素とはならない。

[PR]
by tnomura9 | 2015-09-25 08:32 | 考えるということ | Comments(0)

自然数全体の集合 ω は真のクラスか

この記事は正統的な理解とは異なるので誤りである可能性が高いと思うが、疑問に思ったので書いておく。

公理的集合論では空集合 φ を 0 と見なす。それを出発点に再帰的定義で自然数を作り出していく。すなわち 0 のみを要素とする集合 {0} を 1 とみなす。また、0 と 1 の集合 {0, 1} を 2 とみなす。φ を使った表記では 2 = {φ, {φ}} である。こうして次々に自然数を作っていくが、自然数全ての集合 {0, 1, ..., n, ... } も集合であるのでこれを ω と表す。そこで、0, 1, 2, ..., ω を要素とする集合を考えると ω + 1 = {0, 1, ..., n, ..., ω} を考えることができるとされている。

しかし、ゲーデルの構成的集合を集合と考えることにすると、ω はどの R(α) にも見つけることはできないのだ!!つまり ω は構成的集合ではなく真のクラスと言えるのではないだろうか。そうだとすれば、ω は他の構成的集合の要素となることはできないので、ω + 1 を考えることはできなくなる。

また、ω が集合でなければ自然数全てを集めたものも集合と考えることはできない。無限集合についての考え方を根底から考え直す必要がでてくる。

この考え方は正統的な考え方とは異なるのでおそらく誤っているのだろうと思うが、不思議なことだ。

追記

この論法でいくと構成的集合は有限集合しかないような気がする。どの R(α) についても R(α) に含まれる構成的集合は有限集合だからだ。α は無限に大きくしていくことができるが、どの時点でも R(α) に含まれる構成的集合の要素は有限である。

多分、構成的集合の捉え方に何か誤解しているところがあるのだろう。やはり、公理的集合論は手強い。

[PR]
by tnomura9 | 2015-09-22 18:17 | 考えるということ | Comments(2)

集合とクラスの比率はどれくらいか。

NBG集合論には要素の集まりには、構成的集合と真のクラスがある。それでは、構成的集合と真のクラスのどちらが多いのだろうか、その比率はどれくらいになるのだろうか。そこでNBG集合論で論じられるゲーデルの構成的集合について考えてみた。

NBG集合論で扱うゲーデルの構成的集合はランク0の集合としては空集合のみをとる。すなわち R(0) = { φ } だ。R(0) はランク 0 までに現れた全ての集合の集合だからだ。

同様に、

R(0) = {φ}、
R(1) = { φ, {φ} }、
R(2) = { φ, {φ}, {{φ}}, {φ, {φ}} }、
R(3) = {{φ, {φ}, {{φ}}, {φ, {φ}}, {{φ, {φ}}}, {φ, {φ}}, {φ, {{φ}}}, {φ, {φ, {φ}}}, {{φ}, {{φ}}}, {{φ}, {φ, {φ, {φ}}}, {{{φ}}, {φ, {φ}}, {φ,{φ}, {{φ}}}, {φ, {{φ}}, {φ, {φ}}}, {{φ}, {{φ}}, {φ, {φ}}}, {φ, {φ}, {{φ}}, {φ, {φ}}}}

と要素数が増加していく。R(0) の要素数は1, R(1) の要素数は2, R(2) の要素数は 4, R(3) の要素数は 8 だから、R(α) の要素数は2のα乗あることになる。

これをよく観察すると、R(α) の要素からその要素の集まり(クラス)を作ることができる。例えば R(1) の要素は φ と {φ} なのでこの要素から [φ], [{φ}], [φ, {φ}], という要素の集まり(クラス)が考えられる。これらのクラスのうち R(1) の要素の中に集合として含まれているのは φ と {φ} のみだ。φ, {φ} という二つの要素からなるクラスには対応する集合が R(1) の中には見つけられない。すなわち、{φ, {φ}} は R(1) の中の真のクラス候補である。

このような真のクラス候補のクラスは各 R(α) でどのくらい発生するのだろうか。R(α) の要素数は 2α、その部分集合の数は 2α+1 だから、R(α) の中に構成的集合として含まれていない R(α) のクラスの数は最低でも

2α+1 - 2α =2α(2α - 1)

になる。したがって、αの数が増えるごとに R(α) に含まれないクラスの数は膨大な数になる。

R(α) と真のクラス候補のクラスの比率を取っても、

2α(2α - 1) / 2α = 2α - 1

になるので、αが増加すれば比率は無限に大きくなる。BNG集合論の世界では構成的集合に比べて真のクラスのほうが圧倒的に多いことが分かる。ラッセルのパラドックスだけを見れば、真のクラスというのは特殊な要素の集まりのような印象をうけるが、実は数的にも圧倒的に真のクラスの方が多かったのだ。逆に言うと、ものの集まりのうち集合として取り扱うことのできるものはわずかで、そのわずかな集合のうちに現在の数学の理論のほとんどが構築されていることになる。

ところで、ゲーデルの構成的集合の世界は空集合から構成された {{φ}, φ} などの集合で、自然数や実数ではない。しかし、よく知られているようにこれらの要素を自然数に当てはめることができ、それを元に実数や、関数も集合/クラスとして作ることができるので結局すべての数学をこの集合の世界に構築できる。しかしながら、この集合だけからなる世界は素朴集合論の世界のイメージとは随分印象が違うので公理的集合論が分かりにくいのだ。

[PR]
by tnomura9 | 2015-09-22 10:17 | 考えるということ | Comments(0)

構成的集合と排中律

構成的集合 (constructive set)とは個体のクラス(ゲーデルの構成的集合では空集合 φ )を出発点として次々に集合を作っていける集合のことである。構成的集合の全体を構成的宇宙 (constructive universe) と言う。

構成的集合におけるランク (rank) とは、ある構成的集合が個体のクラスから出発してどの段階で作られるかという段階のことだ。個体のみからなる集まりの要素(個体)はランク0の構成的集合だ。またランク0の個体全体の集合を R(0) で表す。R(0) の要素、つまり、個体 a1, a2, a3, ..., an から作ることのできる集合は {a1}, {a2}, ..., {an}, {a1, a2}, ..., {a1, a2, a3, ..., an} であるが、これらをランク1の集合という。これらは R(0) の部分集合の全てであるから、R(0) のべき集合の要素からなっている。この R(0) の要素と、ランク1の集合を合わせて R(1) で表すことにする。一般に第 α 段階で現れた集合全体の集合を R(α)で表す。したがって、集合 A のべき集合を P(A) で表すことにすると、P(R(α)) = R(α + 1) という関係がある。

ここで、任意の R(α) すなわち α 段階までに出現した構成的集合全ての集合について、それらの要素を要素とするクラス A について考えて見る。また、このクラスについては述語 P(x) による内包的定義ができて A = {x| P(x)} であるとする。そうすると、R(α) の A に属さない要素からなる集合(クラス)Ac が存在し Ac = {x| ¬P(x)} である。この A が R(α) の要素と一致していれば A は R(α) に含まれる構成的集合である。このとき、クラス Ac に一致する構成的集合を R(α) に求めることはできない。なぜなら、Ac が R(α) に含まれていると、Ac は A には含まれない(A は確定している)から、Ac は Ac に含まれなければならないが、構成的集合の作成過程では自分自身を要素として含む構成的集合は発生しないからだ。

さて、この R(α) について P(x) の振る舞いを見てみる。あきらかに、P(x) は R(α) の全ての要素について真または偽の値をとる。すなわち、R(α) の要素については P(x) は排中律を満たしている。そうして R(α) は、A = {x| P(x)} と Ac = {x| ¬P(x)} の二つのクラスに分かれる。この際 A ∈ R(α) であれば、Ac /∈ R(α) であるが、内包的定義によって集合ではなくクラスが定義されると考えると要素に制限のない内包的定義 A = {x| P(x)} ができることがわかる。

このように R(α) については述語 P(x) は排中律を満たし、制限のない内包的定義がクラスを定義することが分かったが、この関係は全ての α について成立するので、構成的集合の全体である構成的集合の宇宙 (constructive universe) についても P(x) の排中律と A = {x| P(x)} という制限のない内包的定義がクラス(集合または真のクラス)を定義することがわかる。

前回の記事では集合をもののあつまりという「もの」と考えることによって論理と集合のあいだの同値関係が失われることを述べたが、構成的集合の宇宙について考えることによって、制限のない内包的定義がクラス(構成的集合または真のクラス)を定義することがわかり、この意味で排中律と集合のあいだの同値性が保たれることがわかる。

要素 a1, a2, a3, ..., an の集まりから要素を集めて作られた集合 A と述語 P(x) による内包的定義との同値性、

a ∈ A ⇔ P(a)

は集合 A が要素 a1, a2, ..., an の中に現れないときは問題がない。このような場合は集合と論理の同値性はイメージ的にも明白だ。ところが、集合をものの集まりという「もの」と考えることによって、集合の表現力は飛躍的に増したが、反面、このような集合と論理の同値関係を保つのが難しくなった。そのため、公理的集合論では、公理によって「集合とは何であるか」ということを限定しながら論理を適用しなくてはならなくなり、素朴集合論の簡明なイメージを失ってしまった。

NBG 集合論のイメージ化を行ったからといって、必ずしも直観的になったとは言いがたいかもしれないが、少なくとも問題がどこにあるのかは感覚的に分かるのではないだろうか。

追記(真のクラスの正体)

集合にならない真のクラスというもののイメージが作りにくいが、構成的集合の補集合は全て真のクラスである。なぜなら、どのような α についても R(α) の要素である構成的集合 A の補集合(クラス)Ac は R(α) の要素として見つけることはできない。したがって、このような Ac は構成的集合の世界 L には構成的集合としては含まれない(クラスとしては存在する)。また、「全ての構成的集合の全体」は何かの構成的集合の補集合としては定義できないが、R(α) の部分クラスの中には必ず R(α) の要素の構成的集合としては含まれないものがあり(構成的集合は自分自信を要素としては含まないので R(α) は R(α) の要素としては存在できず、 R(α+1) に存在する)どんな α についても R(α) は全ての集合を含むことはないため、全ての集合の集合/クラスは真のクラスである。ただし、もし、集合が存在しないこと nil を構成的集合とみなすことができれば、全ての集合の集合は nil の補集合ということになる。また、全ての構成的集合は自分自身を要素としては含まないため、ラッセルの集合は全ての集合の集合と同じものであるから、これもまた真のクラスである。

[PR]
by tnomura9 | 2015-09-20 19:55 | 考えるということ | Comments(0)

クラスと論理

素朴集合論では、集合 A が述語 P(x) によって内包的定義で定義できるとする。つまり、A = {x| P(x)} であるとき、任意の対象 a を取ったとき次の同値関係が成り立つ。

a ∈ A ⇔ P(a)

これは任意の a が集合 A の要素であることと述語 P(x) を a に適用した P(a) は真であるということが同値であるという意味になる。これは集合の言葉が、自然に論理の言葉に変換できるということを示している。したがって、集合についての定理は全て論理の定理として証明して、その結果を集合の言葉に逆翻訳できる。わかりやすいし便利だ。集合が考えられたときはこれは自明のこととして捉えられていただろう。

しかし、ラッセルのパラドックスはこれを打ち砕いてしまった。R = {x| x /∈ x} とすると、x に R を代入したとき、

R ∈ R ⇔ R /∈ R

となってパラドックスになってしまう。述語 P(x) を自分自身 R に適用する自己言及のために集合と論理の同値性が破壊されてしまったのだ。これは、集合を要素の集まりである「もの」として定義したためだ。つまり、要素 a1, a2, ... , an があったとき A = {a1, a2, ... , an} を一つの「もの」と考えて,

a1, a2, ... , an, A

のように要素と同列に並べてしまったため、単純に a ∈ A ⇔ P(a) とは言えなくなってしまった。そう言えるのは、P(A) が偽の時で、P(A) が真の時は、A = {a1, a2, ..., an, A} と考えなくてはいけなくなるが、不自然だし、このような集合を考えると、ラッセルのパラドックスの温床になってしまう。

集合を一つの「もの」と考え要素と同列に扱うことは、{A, B} のように集合の集合や {a1, A} のように要素と集合のペアを考えたりできるため、集合による表現力が格段に増す。しかし、その便利さと引き換えに自己言及という厄介なものを抱え込んでしまうことになる。

それでは、要素の集まりを集合という「もの」とは考えずにクラスという用語で呼ぶことにして、クラスは要素の仲間ではないと考えてみよう。たとえば a, b, c, d, e について A = {a, b, c}, B = {d, e} とすると要素のあつまりには次のように A, B は現れない。

a, b, c, d, e

したがって、自己言及も起きないから A = {x| P(x)}, B = {x| Q(x)} という内包的定義はなんの矛盾も起こさない。内包的定義が定義するのは集合という「もの」ではなく、クラスというものの集まりであるため、論理とクラスの同値関係は壊れない。

しかし、残念なことにこの方法では、{A, B} や {a, B} といったクラスを作ることができない。そこで、もう一工夫してみる。クラス A, B を表す記号として集合 A , B という要素を考え、要素 a, b, c, d, e に加えるのだ。集合 A, B は a, ... , e には含まれないので P(A) = 偽, Q(B) = 偽 だ。

a, b, c, d, e, A, B

このような要素の集まりを考えるとクラス A = {x| P(x)}, B = {x| Q(x)} のように内包的定義でクラス/集合が定義され、P(x) はどの要素に適用しても必ず真か偽の値を返すという論理の排中律をみたすことができる。また、{A, B} や {a, A} のようなクラスも定義することができる。

めでたしめでたしのようだが、そうは問屋が卸さない。{x| ¬P(x)} = {d, e, A, B} というクラスを表す集合を作ることができないのだ。¬P(d) = 真だし、他の要素に ¬P(x) を適用しても矛盾は起きないので、{x| ¬P(x)} というクラスは存在するのだが、これを表す集合 Ac を上の要素の集まりに追加しようとしてもできないのだ。{d, e, A, B} を表す Ac を追加して、

a, b, c, d, e, A, B, Ac

とすることはできるが、そうすると {x| ¬P(x)} = {d, e, A, B, Ac} となってしまう。かげろうを追いかけるように {x| ¬P(x)} というクラスはクラスとしては存在するが、それを表す記号としての集合は常に見つけることができない。

もともと A = {a, b, c} のときその補集合 Ac としては Ac = {d, e} を想定したかったはずだ。しかし、集合を「もの」と考えて要素と同列に置いたために Ac = {d, e, A, B} と考えないといけなくなってしまった。

もう一度議論を整理してみよう。a, b, c, d, e という要素の集まりがあり A = {a, b, c} というクラスを作ることができる。この段階では x ∈ A と P(x) が真であるということは同値である。また、Ac = {d, e} と {x| ¬P(x)} も同値となる。しかしクラス A を集合 A として a, b, c, d, e と同列に a, b, c, d, e, A として扱うと、{x| ¬P(x)} = {d, e, A} というクラスが内包的定義で定義できるにもかかわらず Ac = {x| ¬P(x)} となるクラス Ac に対応する集合 Ac を見つけることはできない。仮に Ac = {d, e, A} であるとして、要素の集まりに追加したとしても、つまり、a, b, c, d, e, A, Ac としたとしても、今度は {x| ¬P(x)} = {d, e, A, Ac} になってしまい、Ac = {x| ¬P(x)} ではなくなるからだ。内包的定義に対応するクラスはいつでも存在するが、そのクラスを表す集合は作れない場合がある。

ものの集まりをクラスと考えておけば論理とクラスは同値と考えることができる。要素の集まりの中にクラスを含める必要がないからだ。しかし、クラスを表すものとしての集合をもののあつまりに追加してしまうと、論理と集合が同値であると考えることができず、集合として表すことのできないクラスが発生する。集合を「もの」と考える考え方は便利で非常に優れた表現力を持っているが、内包的定義と論理を整合させるための工夫も必要とさせる結果になる。

[PR]
by tnomura9 | 2015-09-20 07:24 | 考えるということ | Comments(0)

クラスの中と外

1. 集合は対応するクラスの外に存在する(自分自身を要素としては含まない)という原則

前回までの記事の繰り返しになるかもしれないが、集合という記号を持たない真のクラスが発生するメカニズムが「集合はそれが指し示すクラスの要素となることはない」つまり、「集合は対応するクラスの外に存在する」という単純な規則によることを示してみたい。このルールは必ずしも自明ではないが、次に述べる理由によって、素朴集合論の矛盾を解決する鍵となっている。

2. NBG集合論のモデル

NBG集合論のモデルとして提案したのは次のような構造だ。(以下の説明ではクラスを対象の集まり、集合をクラスを指し示す対象とするなど通常の用語とは少し異なる使い方をしているので、このブログの『集合の用語』の記事を参照していただいた方がいいかもしれない。)

集合論の世界は個体と集合という対象からなっている。また、対象の任意の集まりをクラスと名付ける。集合とは対象の一つだが、それは、クラスを指し示す記号の役割をしている。また、ここでいう集合とは、個体から始まってボトムアップに作り上げることのできるクラスに対応する構成的集合のみを考える。こうして集合論の世界は、個体と構成的集合の全てからなっていると考えることができる。個体と集合をあわせて対象という。クラスとはそれらの対象の任意の集まりのことだ。

このような構造の中で、述語 P(x) は任意の対象について適用された時真または偽の値をとるものとする。この仮定のもとで集合論の世界の全ての対象は P(x) を充足するクラスと、充足しないクラスに二分できる。すなわち、排中律が成立する。

ただし、この集合論の世界には、対応する集合を持つクラスと、対応する集合を持たない真のクラスが存在する。集合を持つクラスの場合は、集合とクラスを同一視することで、集合/クラスを他のクラスの要素とすることができる。これに対し集合を持たない真のクラスは、他のクラスの要素となることはできない。

ラッセルの集合はこのような集合を持たない真のクラスであるため他のクラスの要素として含まれることはない。したがって、ラッセルの述語をみたす対象は存在するが、ラッセルの集合が他のクラスの要素となることはないため、ラッセルのパラドックスは発生しない。

3. 対応する集合を持たない対象の集まり(真のクラス)が発生する理由

しかし、なぜ集合を持つクラスと、集合をもたない真のクラスが発生するのだろうか。その理由は、集合は自分が代表するクラスの要素としては含まれないという原則による。この原則が必要な理由は、例えば a ∈ a のようなものを許してしまうと a ∋ a ∋ a ... というような悪循環が発生してしまって、外延公理や正則公理に不都合がおきるからだ。

それでは「集合が自分を代表するクラスの要素としては含まれない」という原則がどうして真のクラスを発生させるのだろうか。これを説明するためには構成的集合の性質の理解が必要だ。

構成的集合は個体の集まりから出発して集合を作っていく。すでにあるものから作るのでそのような集合は存在が保証されている。最初に個体だけからなる集まりをランク0の対象とする。この個体全体の集まりから様々な個体の集まり(ランク0のクラス)を作ることができる。その数は個体全体の集合の部分集合の数だけ存在する。そこで、それぞれのクラスに対応する集合という対象を考え、これをランク1の集合とする。また、個体とランク1の集合は対象として総称できるのでランク1で作られた対象とランク0の対象を合わせた全てを R(1) で表す。

また、R(1) の対象を使ってランク2の対象である構成的集合を作ることができるが、こうして出来たランク2までの対象の全てを R(2) で表す。一般に R(α) でランク α までの操作で造られた対象全てを表す。

さて、R(1) の集合は個体のクラスの全てを代表するようにできるだろうか。つまり、個体のクラスは全てその対象を R(1) に持つことができるだろうか。答えはイエスだ。個体のクラスのそれぞれに対応する R(1) の集合を作るのになんの矛盾も発生しないからだ。

たとえば、個体のクラスのうち A というクラスに対応する集合 a は R(1) の中に見つけることができる。また、あきらかに a /∈ A である。さらに個体の中の A に属さない対象を集めたクラス Ac に対応する集合 a' もR(1) の中に存在し a' /∈ Ac である。ここで、のべた Ac は個体全体すなわち R(0) について定義されていた。先に述べた原則で a' は Ac には含まれないから a' はランク1の対象である。

さて、Ac の意味をもう少し広げてみよう。上の例では Ac は個体の対象についてだけ考えていたが、R(1) には個体以外の対象が含まれている。Ac の意味合いを R(1) にまで広げてみようということだ。

そこで、R(1) の対象全てについて考えてみる。この場合もクラス A に含まれる対象と、クラス A に含まれない対象すなわち Ac に含まれる対象に二分できる。おもしろいことにこの Ac に含まれる対象には A に対応する集合である a も含まれる。

さて、この R(1) に視点を広げた Ac に対応する集合 a' は R(1) に含まれるだろうか。答えは否定的だ。Ac を表す a' はクラスと集合の基本的関係から Ac に含まれることはない。Ac に含まれていないのだから、a' が R(1) の中で定義されるためには A に含まれないといけないが、クラス A はランク0ですでに確定しているので新しく a' を要素とすることはない。したがって、a' は A にも Ac にも含まれることはないから、a' は R(1) のなかに見つけることはできない。

しかし、確かに Ac のクラスは存在するのだから、それに対応する a' は存在しても良さそうだ。そうして実際に a' は存在する。ただし、それはランク2の集合としてだ。

R(1) の世界の Ac に対応する a' は R(2) にしか見つからない。同様に R(2) の世界の a' は R(3) に存在する。これをずっと続けていくと、どんなランク α についても Ac に対応する a' は R(α) にはみつけることができないということになる。すなわち、集合論の世界全てについての Ac は集合としては存在しない。

これが、対応する集合を持たない真のクラスの正体だ。あるクラス A が対応する構成的集合 a を持つとき、その補クラス Ac は対応する集合を持たない。すなわち、Ac は真のクラスになる。

4. ラッセルの集合(クラス)は「全ての個体の集合」の補集合(クラス)

ラッセルの集合は「自分自身を要素として含まない集合のクラス」である。「自分自身を要素として含まないクラス」の補クラスは「自分自身を要素として含まない集合ではない対象のクラス」であるから、個体のクラスと「自分自身を要素として含む集合」になる。しかし、自分自身を要素として含む集合は構成的集合には存在しない。つまり、ラッセルの集合(クラス)の補クラスは個体全体の集まり(クラス)である。

上の議論から集合論の対象全体は、ラッセルの集合(クラス)と「個体全体のクラス」に2分されることが分かる。このとき、個体全体のクラス(対象の集まり)はランク1に「個体全体の集合」という対象をもつため、構成的集合である。したがって、構成的集合である「個体全体の集合」の補クラスであるラッセルの集合(クラス)はこのクラスを表す集合という対象をもたない真のクラスであることが分かる。それゆえ、ラッセルの集合(クラス)が真のクラスであればそれを表す集合という対象が存在しないため、ラッセルの集合それ自身が自身の要素となるという推論は無意味になる。

5. 構成的集合の補集合(クラス)は全て真のクラス

このように、構成的集合の補集合(クラス)は全て真のクラスと言っていいのではないだろうか。それは、それに対応する集合という対象を常に R(α) の外に取らざるを得ないためで、そのためどのような R(α) においても構成的集合の補集合に対応する集合を R(α) の中に見つけることができないからである。

このように集合を持たない真のクラスの存在が、「集合はそれが指し示すクラスには含まれない」という単純な原則によっていることがわかる。

また、このような真のクラスは、ラッセルのパラドックスの述語のように特殊な述語に依存するというわけではなく、構成的集合の補集合(クラス)というありふれた存在であることを強調したい。

[PR]
by tnomura9 | 2015-09-08 00:31 | 考えるということ | Comments(0)

クラスの定義

1. 構成的集合

前回紹介した NBG のモデルから真のクラス (proper class) はクラスを代表する対象(集合)がないものと説明したが、それをどうしたら正確に定義できるだろうか。それには、集合が構成的集合であることに注目すると良い。

構成的集合とは、個体の集まりから段階的に作ることのできる全ての集合のことだ。最初は個体のみの集まりだが、これらの個体の集まりをもとに、そのべき集合を作ることによって新しい構成的集合を作ることができる。最初の個体の集まりをランク0の対象とすると、新しく作られた構成的集合はランク1の構成的集合だ。さらにランク1の構成的集合と個体全てからなる集合のべき集合のうちランク0、ランク1のものと重複しないものをランク2の構成的集合という。さらに、ランク0とランク1とランク2の集合全てからランク3の集合、同様の手続きでランク4、... というふうに構成的集合を作り上げていくことができる。

真のクラスはこの構成的集合のどのランクの段階でもそのクラスを代表する集合という対象を作ることができないものをいう。

2. 真のクラス (proper class) の定義の記号化

これを記号化するとどうなるだろうか。そのために、先ず対象の集まりであるクラス A を対象 a に対応づける関数 φ(x) を考える。クラス A が集合であれば、a = φ(A) となる対象 a が存在する。また、クラス A の外側にそのような対象 a が取れなければ φ(A) に対応する対象 a は存在しない。

また、ランク α の 構成的集合までにあらわれた対象(個体と集合)の全体を R(α) とする。このとき R(α) のランク α における真のクラスとは φ(A) /∈ R(α) をみたすクラス A である。一方、構成的集合の場合は φ(A) ∈ R(α) となる。個体が有限個のときには R(α) も有限個になるがそのような場合でも φ(A) /∈ R(α) なる対象の集まり A は存在する。

たとえば、有限の個体の動物の集合について考えてみよう。この動物の個体からいろいろな動物の組み合わせ(クラス)を作ることができる。さらにこれらのクラスを表す集合を作ることができる。視覚的にイメージしやすいように、これらのクラスを代表する集合をそれぞれのクラスの要素を記述したプラスチックの札であるとする。このプラスチックの札と動物を集めたものがランク1の構成的集合と個体からなる対象の全てである。

ここで、動物のうちから犬だけをあつめて「犬のクラス」を作る。あきらかにランク1の対象の中には、この犬のクラスを表すプラスチックの札(集合)が含まれる。また、「犬のクラス」以外の動物とプラスチックの札を合わせたものは「犬でないもののクラス」である。さて、ここで、この「犬でないもののクラス」を表すプラスチックの札(集合)は存在するだろうか。

あきらかに、「犬でないもののクラス」を表すプラスチックの札は「犬でないもののクラス」に含まれてはならない。前回述べたように、クラスを表すプラスチックの札である「集合」はクラスのメンバーとして含まれてはならないからだ。それでは、「犬でないものの集合」という札は、犬のクラスに含まれるだろうか。イメージ的にもありえないし、「犬でないものの集合」が「犬の集合」の要素として含まれてしまうと悪循環が発生し、正則公理が破られてしまう。したがって、「犬でないもののクラス」を表す「犬でないものの集合」というプラスチックの札は、ランク1の対象の中に見つけることはできないのだ。しかし、これは、ランク1の対象の外に、ランク2の対象のなかに見つけることができる。

ランク1の構成的集合に「犬でないものの集合」が作ることができないことについて補足する。ランク0の個体について、明らかに「犬のクラス」と「犬でないもののクラス」は存在する。したがって、ランク1の構成的集合の中に「(ランク0の)犬でないものの集合」も構成可能である。しかし、「(ランク1)の犬でないもののクラス」に含まれる対象には個体の犬でないものと「(ランク0の)犬でないものの集合」というランク1の対象と、「犬の集合」というランク1の対象と、もし存在すれば、R(1) の一員としての「(ランク1)の犬でないものの集合」が含まれないといけない。しかし構成的集合は自分自身をそれが指し示すクラスの一員とすることはない(自分自身を要素として含むことはない)からそれは不可能だ。また、「犬の集合」に対応する「犬のクラス」はランク0で確定しているので、「(ランク1)の犬でないものの集合」というランク1の対象を含むことはない。したがって、「(ランク1)の犬でないものの集合」という対象を R(1) に見つけることはできない。しかし、この場合でも「(ランク1)の犬でないもののクラス」は存在するので、ランク1までの構成的集合の対象は「犬である」か「犬ではない」かの排中律を満たしている。

このようにランク1における「犬でないものの集合」をあらわす対象はランク1には存在しない。その対象(集合)はランク2の対象のなかに見つけることができるが、ランク2ではまた別に「犬でないもののクラス」が定義される。そうしてこの「ランク2の犬でないもののクラス」もランク2の対象のなかにそれをあらわす集合という対象を見つけられない。

このように全てのランク α について クラス A がそれをあらわす集合という対象を見つけることができない時、クラス A を真のクラスと呼ぶことにする。このような操作ではランクごとにクラス A の意味づけが変わってしまうのでこれを述語 P(x) をみたす対象のクラスとして考えることにする。そうすると、真のクラスの定義は次のようになる。

∀α( φ( {x| P(x)}α ) /∈ R(α) )

このように構成的集合を考えることによって、クラスを「濃度が非常に大きい集まり」というあいまいな表現ではなく、明確に定義することができる。

3. クラスと自己言及

対象の集まりを集合という対象と定義するときに問題になるのは、対象の集まり(クラス)とは別にその集まりを指し示す記号としての集合という対象が発生することだ。この集合という対象も個体と同じように対象であるのでこれに対しても述語 P(x) は適用される。すなわち P(x) を使った内包的定義で集合 A が定義され A = {x| P(x)} であるが、この時に P(A) の真偽も問題にされるということだ。自分自身を定義した述語を自分自身に適用するというのもおかしな話だが、集合を個体と同じような対象と考えるためにはこれを認めなければならない。

個体と集合を同列に述べるのは奇妙かもしれないが、これを認めないと、例えば集合とその代表元とのペアのような数学でよく現れるデータ構造を定義できなくなる。要素の集まりであるクラス以外に、それを代表する集合という対象という余分なものを考えるのは取り扱いの便利さを考えるとやむを得ない。したがって、それに自分自身を定義した述語を適用するという不自然な状況も避けられない。

考えられるほぼ全ての集合では P(A) は偽となる。この場合内包的定義によってクラスのメンバーは完全に決定され、そのクラスを指し示す集合 A という対象をクラスの外に考えることができる。考えられる限りの数学的対象のクラスはこの条件を満たすので、素朴集合論を使っていても数学の記述に支障はないように思われる。

しかし、P(A) が真となる場合の A の取り扱いに注意が必要なのはラッセルのパラドックスを考えれば一目瞭然である。これについては以前の記事に述べた議論の繰り返しになるのでここでは延べないが、そのような場合は {x| P(x)} に対応する対象である集合 A は存在しないと考えるのがよいようだ。

要素の集まりであるクラスという記号内容に対応する集合という記号表現である対象を考えるのは、集合を取り扱う上で必須の概念であるが、そのために論理の構造と微妙にずれができてしまう。このために、集合という記号を持たない対象の集まりである真のクラスを考えなければならなくなる。この集合という記号を持たない真のクラスという概念がなかったために、ラッセルのパラドックスが発生したと思われる。

ラッセルのパラドックスはひとえに述語の自己言及に関連して発生していたパラドックスだったのだ。

[PR]
by tnomura9 | 2015-09-06 01:56 | 考えるということ | Comments(0)