人気ブログランキング | 話題のタグを見る

実数は自然数よりどれくらい多いか

自然数全てと0から1までの2進数を対応付けた対照表を考えると、たとえば次のようになる。

1 : 0.100101...
2 : 0.001010...
3 : 0.010010...
4 : 0.000100...
5 : 0.110101...
6 : 0.001000...
.....

この対照表の小数点下の対角線部分を取り出すと次のようになる。

0.100100...

これを反転させてできる次の実数は上の対照表には現れない。

0.011011...

これがカントールの対角線論法である。しかし、この論法では自然数に対応付けられない実数が一つしか示されていない。他にはないのだろうか。そこで上の対照表の1と2を入れ替えてみる。

2 : 0.001010...
1 : 0.100101...
3 : 0.010010...
4 : 0.000100...
5 : 0.110101...
6 : 0.001000...
.....

こうしてできた新しい対照表は自然数全てに対応付けられた実数の対照表である。順番を入れ替えただけだから上の対照表と内容は変わらない。このとき、新しい対照表の対角線部分を取り出してみる。

0.000100...

これは最初の対照表の対角線部分と異なっている。これを反転させると

0.111011...

になるが、これもまた自然数と実数の対照表には現れていない数だ。したがって、この数は対照表に現れない2番めの実数になる。ところで、行を交換するときどの2組を選ぶかという組み合わせは ∞C2 個あることになる。行を交換したとき対角線部分の2箇所が変更になるからそれらが同じになる確率が1/4だったとしてもまだ、∞C2*3/4 個の対照表に現れない実数が存在することになる。したがって、自然数に対応付けられていない実数の数は無限にあることがわかる。

ただし、これは自然数と実数の対応付けが冒頭の対照表で終わっていると考えた場合である。その後に上の方法で見つけられた対応付けられていない実数は、ヒルベルトの無限ホテルの方法で新たに自然数との全単射に繰り込むことができる。部屋数が無限にあるホテルが満室であったとき、新しい客が来た場合、元の客を一つずつ後ろの番号の部屋へ移動してもらえば1号室を開けて新しい客を受けつけることができる。したがって、元々の対照表に含まれない実数を見つけることができたとしても、それを対照表の先頭に置いて新しい対照表を作ることができる。

しかしながら、この段階でも新しい対照表を作成し対応付が終わったと宣言した途端に、それに含まれない無限の実数が存在していることがわかる。まるで、蜃気楼を追いかけても常に遠くに蜃気楼があるようなものだ。

ただし、対応付けを変えて作った新しい対照表は、もとの対照表とは対応付けのルールが異なる。もとの対照表では、自然数 n と実数 a が a = f(n) という全単射の関数で対応付けられていたとすると、新しい対照表では、その関数では全単射が作れず新しい f1(x) という関数が必要になる。このとき自然数 N から実数への f(x) の像を f(N) とすると、

f(N) ⊂ f1(N)

である。対角線論法で新しい実数を発見するたびに対照表を改定していくと次のような無限の包含関係が発生する。

f(N) ⊂ f1(N) ⊂ f2(N) ⊂ ....

f(x) も f1(x) も全単射の関数のはずなのに自然数の像 f(N) の値域が異なっているのは変な感じだ。

このように、自然数の全単射による像は実数の集合のなかにどんどん広げていくことができる。しかし、その場合でも常にその像に含まれない実数の要素は無限に発見できる。

おかしな話だが、その原因は f(x) という全単射の関数にあるような気がする。集合 A と集合 B の要素が全単射の関数 f(x) によって1対1に対応付けられているとする。このとき f(x) が全単射であることは、集合 B の全ての要素を検査してそれが1対1の対応関係であるということを検証しなければならない。集合 B が有限集合のときは B の要素を全て数え上げることができるのでそれは可能だが、集合 B が無限集合のときは問題が生じる。無限集合 B の要素を数え上げきることができないからだ。

そこで、集合 B が無限集合の場合は f(x) が全単射であるかどうかを別の方法で調べることになる。無作為に取り出した集合 B のどの要素についてもその原像である集合 A の要素が唯ひとつ見つかれば f(x) は全単射であると考えることにするのだ。

この新しい f(x) の評価方法は集合 B が有限集合の場合も働くので、集合 B の要素を全て調べ上げる方法の拡張版だとも言える。しかし、B が無限集合のときに、任意にBの要素 b を取り出しその原像の a ∈ A がただひとつであることが確認できたとしよう。だからといって B の要素全てについて f(x) が全単射であると無邪気に言ってもいいのだろうか。任意の B の要素を検証することは無限に続けることができる。しかし、その検証はどの段階でも、検証していない B の要素が存在している。無限集合の場合は全単射の全という部分については、注意が必要なのである。

関数 f(x) が全単射であるというのは、集合が有限集合のときのみに検証できることではないのだろうか。言い換えると f(x) の全単射性は有限集合同士の写像でしか検証できないということだ。集合が無限集合の場合は、有限集合に対し全単射である関数 f(x) を無限集合に流用しているだけなのだ。有限集合に置ける全単射の意味が無限集合にも適用できるというのは、一種の幻想なのである。

無限集合に適用されている全単射の関数は、あくまでも有限集合では全単射であるという意味であると考えたほうが良いのではないだろうか。満室の無限ホテルの場合も、新しい客が来たときには、1号室の客に一旦出てもらい新しい客を入れる。次に2号室の客に出てもらい1号室の客を2号室に入れる... というアルゴリズムを無限に行うことになる。しかし、この作業が完了することを保証するものは何もないのだ。

これは数列の極限値を求める微分積分での議論に似ている。⊿x を順に0に近づけていくような数列を考えると(f(x+⊿x) - f(x))/ ⊿x はある一定値 a にどんどん近づいていく。しかし、⊿x が0になるという議論はありえない。同じように、無限ホテルでも無限号室の議論はできないのだ。微分積分の場合は ⊿x の議論は⊿x が0に近づく仮定の断面の1時点について論理が適用される。無限ホテルの場合も、無限号室へ客の入れ替えが行われる過程の断面での議論の推論によって無限集合の性質を述べている。

自然数と偶数が全単射するという実無限の議論についても、その対応関係を無限大まで追いかけることはできない。f(x) = 2x という有限集合の関数を用いて無限の過程を推定することによって自然数と偶数の全単射があると結論づけている。しかし、そこには有限集合ほどの明白さはない。そのアルゴリズムが完遂されることは絶対にないからだ。

このことは、自然数と実数の対応を示す対照表についても言うことができる。対角線成分の無限遠の値を知ることは不可能なのである。しかし、有限のわかる範囲内では、対角線成分を反転させてできる実数は対照表に現れることはできないので、無限遠でも同じ事情であると推測できるのだ。

ラッセルの集合でも同じことが言える。有限個の「自分自身を要素として含まない集合」を集めた集合は、自分自身を要素としては含まないが「自分自身を要素として含まない集合」という述語を満たしてしまう。この事情は、無限個の「自分自身を要素として含まない集合」を集めた集合にも適用されるだろうと推測できる。それゆえ、そのようなラッセルの集合は「自分自身を要素としては含まない」が「自分自身を要素として含まない集合」という述語を満たしてしまうのだ。つまり、述語を充足するが、述語を充足する集合の要素ではないという事態が発生し。述語を充足する要素の集合は「集合」であるという、内包公理は否定される。

このように無限集合の振る舞いを直接的に調べる方法はない。有限集合の性質の拡張として推論することができるだけである。したがって、無限集合の振る舞いについて考察するときは、必ずその有限集合におけるアルゴリズムの等価物として考えることが必要になってくるのだ。

by tnomura9 | 2019-02-16 02:33 | ラッセルのパラドックス | Comments(0)
<< 集合の内包 論理と集合 >>