自然数の個数と実数の個数の話
数学を専門にしていない人(高校で習う集合の簡単な予備知識ぐらいは仮定するかも)向けにおもしろい話をしたいので,僕が数学科で勉強して最初に感動した話を書きます.
いろんな集合の要素の個数を比べるっていう話.
(この記事では$1$以上の整数を自然数と呼ぶことにします.)
まずは,簡単なもので,アルファベットの個数とひらがな五十音の個数を,どっちが多いか比べてみましょう.
まあ当然平仮名の方が個数は多いですよね.
アルファベットは$26$個しかないけど平仮名はもっと沢山ありますから.
(ところで,ひらがなって$50$文字あるのかと思ってたんですけど数えてみたら$46$個しかないんですね.なんで五十音って言うんだろう.)
いま僕たちはアルファベットの個数も五十音の個数も知っていたから簡単に個数を比べられましたよね.
でも,じゃあ,もしアルファベットや五十音の文字数を知らない人がいたら、その人はどうやって個数を比べたらいいんでしょうか.
その答は単純で,運動会の玉入れの結果発表みたいに,ひとつずつ対応をさせていけば個数が比べられます.
$1$文字目「A」「あ」,$2$文字目「B」「い」,...,という風に比べてみると,アルファベットは$26$文字目の「Z」で終わりますが平仮名の$26$文字目は「は」でまだまだ文字が余ってます.
それで,対応が途中で途切れてしまうので平仮名の方がたくさんあるというのが分かります.
数学で集合の要素の個数を比べるときは,この対応づけるやり方を使います.
そうすると,集合の要素が無数にあるような集合同士でも簡単に要素の個数を比べることができます.
たとえば正の奇数と偶数の個数を比べてみましょう.
なんとなく直感的に,どちらも同じだけ存在していそうな感じがしますよね.
実際,$1$番目の奇数「$1$」と偶数「$2$」,$2$番目の奇数「$3$」と偶数「$4$」,...,$n$番目の奇数「$2n-1$」と偶数「$2n$」,...というふうにしていくと,どちらかが先に尽きるということなく一対一に対応がつきます.
また,今の比べ方から分かるように,正の奇数全体の個数と自然数全体$\mathbb{N}$の個数も同じであることが分かります.
正の奇数全体を$A$と書くことにします.
$A\underset{\neq}{\subset}\mathbb{N}$だし,直感的にはなんとなく奇数は自然数の半分ぐらいしかなさそうな気がしますよね.
ところが実際に要素の個数を比べてみると同じになるって,すこし不思議な感じがします.
無限という数はめちゃくちゃ大きいので,半分にしたぐらいでは小さくならないんですね~.
自然数全体$\mathbb{N}$と整数全体$\mathbb{Z}$も要素の個数も同じように考えられます.
直感的に自然数は整数の半分ぐらいしか無さそうだし,無限は半分にしたぐらいでは小さくならないので,個数は同じと言えます.
厳密には,整数を$\{0,-1,1,-2,2,...,-n,n,...\}$と並べ直して各自然数$2n-1,2n$にそれぞれ整数$n-1,-n$を対応させるとこの対応はどちらかが先に尽きるということなく一対一の対応になっています.
今度は,自然数全体$\mathbb{N}$と有理数全体$\mathbb{Q}$の要素の個数を比べてみましょう.
同じように無限の大きさは半分にしたぐらいでは変わらないので,有理数は正のものだけを考えて大丈夫です.
正の有理数全体を$\mathbb{Q}_{+}$と書くことにして、$\mathbb{N}$と$\mathbb{Q}_{+}$の要素の個数を考えてみましょう.
$\mathbb{Q}_{+}$の各要素は$m,n\in\mathbb{N}$を用いて$n/m $と書けますね.
また,各自然数は少し素因数分解をすると$m,n\in\mathbb{N}$を用いて$2^{n}(2m-1)$と書くことができます.
そこで各$2^{n}(2m-1)$と$n/m $を対応させると,この対応はどちらかが先に尽きてしまうということなく一対一に対応できています.
これもなんだか気持ちわるい事実ですよね~.
数直線とか見てみると,自然数って$1$ずつの間隔でポツポツとしか存在してないのに有理数はわりとギッシリ存在してるし,直感的には有理数のほうがはるかに沢山ありそうな感じがするのに!
ここまでをまとめると,偶数や奇数,整数,それに有理数も,みんな個数は自然数と同じということでした.
じゃあ今度は,実数全部の個数と自然数の個数を比べてみましょう.
この流れだと実数も自然数と同じだけあるのかなーと思ってしまうかもしれないですが,じつは実数のほうが自然数より真にたくさんあるんです.
無限にもいろいろ大きさがあって,実数全体の無限のレベルは自然数や整数とかの無限のレベルよりもめちゃめちゃ大きいんです.
ではそれを証明していきましょう.
じつは区間$[0,1]$内にある実数の個数だけでも自然数全部よりはるかに多いので,それを示してゆきます.
自然数と$[0,1]$内の実数の要素の個数が同じであると仮定します.
つまり,自然数と$[0,1]$内の実数に一対一の対応がつけられると仮定します.
自然数「$1$」に対応するなにか実数があるのでそれを「$a(1)$」として,自然数「$2$」に対応する実数を「$a(2)$」として,...,自然数「$n$」に対応する実数を「$a(n)$」として,...というふうに$[0,1]$内の各実数に番号がつけられます.
それで,各$a(n)$たちを十進展開して次のように表示しておきます.
(各$a(n)_{m}$は$0$から$9$までの整数のどれか.)
$a(1)=0.a(1)_{1}a(1)_{2}a(1)_{3}...a(1)_{n}...$
$a(2)=0.a(2)_{1}a(2)_{2}a(2)_{3}...a(3)_{n}...$
$a(3)=0.a(3)_{1}a(3)_{2}a(3)_{3}...a(3)_{n}...$
...
$a(n)=0.a(n)_{1}a(n)_{2}a(n)_{3}...a(n)_{n}...$
...
この$a(n)$たちに対して,次のように作った数$x\in[0,1]$を考えてみます.
$x$を十進展開して次のように表示します.
$x=0.x_{1}x_{2}x_{3}...x_{n}...$
各$x_{n}$たちは$0$から$9$までの整数で,次のように決めていきます.
まず,$x_{1}$は$a(1)_{1}$とは違う整数をにします.
つまり,たとえば$a(1)_{1}=2$なら$x_{1}$は$2$でない整数($3$とか$4$とか)という感じ.
次に,$x_{2}$は$a(2)_{2}$と違う整数にして,$x_{3}$は$a(3)_{3}$と違う整数にします.
そういうふうに,各$x_{n}$を$a(n)_{n}$と違う整数にして作った$x$という数を考えます.
こうして作った$x$は$[0,1]$内の数なので,仮定から,ある何番目かの自然数$m $に対応しているはずです.
つまり,ある自然数$m $で$x=a(m)$となるはずです.
ところが,$x$の作り方から分かるように,$x$の小数$m $位と$a(m)$の小数$m $位は異なる整数になっています.
これは矛盾しているので,仮定が誤りだったということになります.
つまり,自然数の個数と実数の個数が同じという仮定が誤りで,実数のほうが自然数よりもはるかに多いということが分かりました.
わーい!
無限って直感に反するような気持ち悪いことが色々起こって不思議.
おしまい.