見出し画像

0.999…=1になる理由を数の拡張から考察

モチベーション

非数学科や数学教育の中で度々議題にあがり、興味の対象になっている為。更に、この問題をモチベーションに数の拡張を解説出来ると思った為。この記事を読んで分かることは数の正しい理解と、ついでに分かる$${0.999 \cdots = 1}$$の正しい理解である。読者の方はどちらに興味を持ってもらっても自由である。

2つの証明とその問題点

さて、私が解説するまでもなく証明が複数与えられているが、その両方に問題点がある。1つ目の証明は文字を使った中学生レベルの証明である。


a = 0.99… と置く・・・ ①
10a = 9.99…  ・・・②
② - ①を行う
9a = 9
a = 1


一見正しい(※この記事を読み終わった後には完全に正しい)この証明ではまず①が分からない。右辺が意味不明でそれを文字に置いて良いのかという疑問がある。そして②も分からない。そもそも0.999…の10倍をどうやるかが分からない。
そもそも数学ではよく分からないものを文字で置いてはいけないというルールがある。このルールを破ってしまった典型例を示す。
a = 1/0 と置く
両辺を0倍すると
0 = 1
当然これは不合理である。

2つめの証明方法は極限を使った証明だが{0.9, 0.99, 0.999,…}という数列の極限が1というものだ。一見これで完璧なのであるが極限とは数列に対して最後に「エイヤ!」とやる動作が入るのでそこの部分の違和感があると言えばある。(※$${a_n = \frac 1 n}$$という数列は全てのnに対して0では無いが極限は「エイヤ!」と言い0になる。)
これらの証明(の分からなさ)から学ぶ事は、我々はまず0.999…の正体を直感的に納得できる形で体得しないといけないということである。

自然数から有理数への拡張

はじめに自然数とは集合$${\{1,2,3, \cdots\}}$$の元(要素)の事である。ここに0とマイナスを加えて整数を構成する。整数までは例えば2でも−3でもそれ以外の表記が存在せず2という表記の中に2の自己同一性が担保されているという状況になっている。ところが有理数となると状況が変わってくる。(※整数→有理数の拡張を紹介するのはこの部分に対する思考のウォーミングアップを目的としている)
有理数とは整数同士の割り算を考えたものになるが、1/2と2/4は同じものである。つまり整数と比較すると1/2の自己同一性はある意味で1/2という表記の中に担保されていないということになる。こういう状況のもと何か一つの有理数(例えば1/2)というものを対象にあるステートメントを考える時は、同時に2/4や5/10を含む無限のステートメントを考えるという手法が考えられる。
しかし有理数1/2に対して、(同値)類(1/2)というものを考え、これが1/2も2/4も含んだものの全体という見方をするのがもっとシンプルであり、こうすると(1/2)が(1/2)の自己同一性を担保した表記となっているのが分かるだろう。
もしそれが新しい有理数(の考え方)と認定するならばそこに演算を入れねばならぬが、それは類を代表するもの同士で演算をし、結果を再びある類とみるという手法をとる。
即ち、(1/2)+(1/3)=(3/6 + 2/6) = (5/6)という具合に。メインである中間の式では(1/2)の代表3/6と(1/3)の代表2/6との足し算を行っていることに注意したい。当然の要請として演算結果は代表の取り方によらない。
今後、1/2をむしろ類(1/2)であると見なし括弧を省略する。

コーシー列とは何か

準備のためコーシー列の定義を与えておく。コーシー列とは先が限りなく詰まっていく数列の事をいう。例えば$${\{ \frac 1 n \}}$$はコーシー列である。なぜならば、そのn番目1/nとm番目1/mの差の絶対値|1/n - 1/m|はnとmをどんどん大きくすると限りなく0に近づくと言えるからである。

有理数から実数への拡張

結論を言うと要素が有理数であるコーシー列を全部入れたものが実数の全体である(※この操作を完備化と言う)。
これを説明しよう。数直線の中の有理数だけをイメージすると数直線には無数の穴が空いている。有理数から実数への拡張ということはその穴を無理数という言葉を使わず、実数や数直線の存在も仮定せず表現しなければならない。このような制限があるものの、思考の天下り的にその穴に無限に近い有理数が存在すると考えられるので、その穴に近づくような有理数の数列を考えれば良いと分かる。つまり、その穴をそこに近づくコーシー列と同一視することにより極限動作に対して穴の存在しない空間(数直線と呼べるもの)が構成できる。
しかしここでまた自己同一性の問題が出てくる。例えば数列{1/n}とすべての要素が0の数列{0}はどちらもコーシー列であるが、穴0(0は無理数ではないが実数と見た時に辻褄を合わせないといけない)にどちらも近づくと言える。故に有理数への拡張の時と同様にして類({0})を考えそれこそ実数とみる必要がある。つまり数として({1/n}) = ({0})は同じものだ。
今後、類 ({a_n})を{a_n}と略記する。更に本当は有理数である実数{q}をqと略記する。

0.999…の正体と二つ目の証明の妥当性

ここで最初の問題に戻ろう。0.999…は何らかの筆算から出てきたものである。または筆算でなくとも無限に書く動作をしている。つまりそれは列を成している。筆算による解の導出動作それ自体は自然にコーシー列と同一視できるので、0.999…はコーシー列である。ここに極限を取るという「エイヤ!」性は介在していない。

(※ここは難しいかもしれないで場合によっては読み飛ばして下さい。)
正確に言うと極限動作は介在していないのだが、「コーシー列なる数」の自己同一性を求めると極限動作はそこに自動的に入る。
即ち0(※類ではない)と言う「数列{0.9,0.99,0.999…}の極限」の実体はコーシー列{0}であり、その類のもとでは({0})=(0.999…)は当たり前であり、類というまとまりの中には極限動作が自動的に含まれると考えられるのだ。


これは二つ目の証明の妥当性を示している。

一つ目の証明の妥当性

0.999…は導出動作から有理数のコーシー列{0.9,0.99,…}の事である。10倍するというのは自然に各要素を10倍するということと見て取れるので、{9.9,9.99,…}が導出結果の実数(コーシー列)である(※各要素は有理数なので10倍の演算は問題なく出来る)。そして引き算も同じで有理数の各要素を減ずればよく結果としてコーシー列{9,9,…}となる。これは自然数9に他ならない。
故に一つ目の証明も問題なく正しいことが分かる。

まとめ

一つ目の証明には違和感「訳の分からぬものを置いて良いのか」、「訳の分からぬものの演算方法」があり、二つ目の証明には「極限的な動作の介在」という違和感があったが、数を正しく認識することによってそれが完全に回避されているのがお分かりいただけただろうか?
以上、本質のみを数理的な哲学も交えて伝授する取り組みだったが、色々すっ飛ばした部分もあるので分からないという部分は徐々に埋めていくのも一興かもしれない。


最後にスキや応援コメント、フォローなどいただけると今後の励みになります。


いいなと思ったら応援しよう!