Log of ROYGB

はてなダイアリーが廃止されるので、引っ越しました。

無限桁の自然数

http://dain.cocolog-nifty.com/myblog/2008/01/post_35f2.htmlの『わたしが知らないスゴ本は、きっとあなたが読んでいる 数学ぎらいは幸せになれないか 「生き抜くための数学入門」』を読んで思い出したことと考えたこと。


まず、自然数と0〜1の実数を一対一対応させることはできないということの、対角線論法による説明。実数は二進数の無限小数で表記します。二進数でなくて十進数でも可能ですが、二進数だと集合と冪集合の説明にも使える利点があります。
左側の自然数と右側の実数が全て対応可能だと仮定すると矛盾がでるので、対応は不可能であるというのが対角線論法です。具体的には赤い数字を反転させたものを使ってつくる実数は自然数と対応できていないことがわかります。一番目の実数とは書数点以下第一位がちがい、二番目とは第二位が、三番目とは第三位が、というように、全ての実数と違う箇所がある新しい実数を作り出すことができるからです。

1 : 0.00000…
2 : 0.00000…
3 : 0.11000…
4 : 0.00100…
5 : 0.10100…
6 : 0.01100



しかし自然数を表記するのに無限の桁を使うことを認めると、実数と対応させることが出来てしまいます。やりかたはいたって単純で、小数点以下第一位の数が一の位、第二位が十の位、のように続けていった数を実数に対応させることです。見た目としては小数の「0.」を取り除いて、左右を反転させたものになります。これが一対一対応することについては、特に説明の必要もないと思います。

…000001 : 0.100000…
…000010 : 0.010000…
…000011 : 0.110000…
…000100 : 0.001000…
…000101 : 0.101000…
…000110 : 0.011000…



無限の桁を使った自然数と実数は対応させることができるのに、自然数と実数を対応させることはできないのだから、無限の桁というのが間違いとなりそうです。
前に「限りの無い有限の数」でも似たようなことは書いたのだけれど、この自然数は無限の桁ではないというのはどうも不思議な感じです。それは有限の桁だとすると、有限の桁で表記される自然数が無限に存在するということになるからです。
それに、その有限の桁の数っていったいいくつなんだという疑問も出てきます。もちろん具体的にいくつだなんてことは言えるはずも無いのですが、そうすると有限だけれども限りは無いんだといったこれまたよくわからないことになってきます。


(24日追記)
コメント欄の指摘に関して説明を加えてみます。
まず、“循環小数0.10101010…に対応する自然数を挙げられるでしょうか?”ということに関して。これは「0.」を取り除いて、左右を反転させるという操作を行うと、
…01010101
となります。これが自然数でないことは指摘の通りです。しかし、無限の桁を認めるという前提があれば存在し得るのではということです。それが自然数でないとしても、無限桁によって表す数というのを仮定することはできるはずです。*1
だから循環小数ではない無理数やπのような超越数であっても、小数点を基準に反転させるという操作によって対応する数をつくることができます。
具体的にはこんな感じです。

…65312414.1 : 1.41421356…
…56295141.3 : 3.14159265…


右側が実数で、左側が小数点基準で反転させた数です。この対応は全単射だと思います。

*1:その一つがトラックバック先でも紹介されているp進数ですが、ここではそこまで深く考えずに小数点以下どこまでも続く無限小数と同じように小数点以上にどこまでも続く数を仮定しているだけです。