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進数ですが、ここではそこまで深く考えずに小数点以下どこまでも続く無限小数と同じように小数点以上にどこまでも続く数を仮定しているだけです。

有限集合の冪集合としての自然数

自然数を定義するのに集合を使う方法があります。
まず、なにも要素を持たない空集合としてφを考えてそれを0とします。
次に、0を要素に含む集合を考えて、それを1と定義します。
その次に、0と1を要素に含む集合を考えて、それを2と定義します。
そして、0と1と2を含む集合を3と定義するといったことを続けていって次々に自然数を定義するわけですが、式で書くとこんな具合です。

0=φ
1={0}
2={0,1}
3={0,1,2}


自然数全ての集合というものも考えることができて、これは無限集合になります。要素の数が1とか2とか742のように数えられる有限の数の場合は有限集合で、数え切れない場合は無限集合になります。

ある有限集合として、2のn乗の値を要素に持つ集合を考えて見ます。nは自然数ですが、無限にはならないとします。その集合をMとおくと次のようになります。

M={1,2,4,8,16,…,2^n}

集合の要素の数はn個です。nが有限の値であるので、有限集合になります。
集合Mの冪集合を考えて見ます。冪集合は、ある集合の部分集合を全て集めた集合のことです。Mの冪集合をM^2と書くとすると

M^2={{1},{2},{1,2},{4},{1,4},…,{1,2,…,2^n}}

のような感じでしょうか。


ここでnの値を、自然数を二進数で表記するのに必要な桁数とおきます。自然数を表記するのに無限の桁は必要ないので、いくつだかわかりませんが必要な有限の値をnとおいて、集合Mを考えます。この場合も、Mは有限集合です。
そして、Mの冪集合を考えます。Mの冪集合と自然数全体の集合には一対一対応が成り立つと考えられます。M^2とn桁で表記できる数との間に一対一対応が成り立つからです。
そうすると、有限集合Mの冪集合であるM^2と、無限集合の間に一対一対応が成り立ってしまうのではないでしょうか。


と、いうのが自然数を表記するのに必要な桁数が有限であって無限ではないということについて、不思議に思うことを集合を使って説明してみたものです。