0.999…=1の証明についての議論と誤解

1=0.999…ってホント?

結論からいうと、ほんとです。

証明もあります。

ただ、いろいろな証明がありますが、よくある多くの証明は不完全です。

1=0.999…のよくある証明

ここでは、よくある証明とその問題点について説明します。

3で割って3倍する証明方法

1=0.999…の証明その1

\(\displaystyle \frac{1}{3}\)を小数で書くと

\(\displaystyle \frac{1}{3}=0.333\cdots\)となる。

両辺を3倍すると

\(\displaystyle \frac{1}{3}×3=0.333\cdots×3\)

\(\displaystyle 1=0.999\cdots\)

わかりやすい証明ですね。

この証明の問題点

この証明の最大の問題点は、

\(\displaystyle 0.333…×3=0.999…\)

の部分です。

計算機で1÷3(1割る3)を計算してみると、

0.33333333

と表示されます(計算機によって桁数は異なります)。

これを×3すると、

0.99999999

となるわけです。

計算機は表示できる桁数がせいぜい10桁前後でもちろん正確ではありませんが、桁数が増えたとしても、0.333…×3=0.999…となることは容易に推測できます。

この推測は実は正しいですが、証明が必要です。

そしてその証明こそが、0.999…=1の証明すべきことと同じなのです。

※計算機によっては1÷3×3を計算すると1と表示される事もあります。

1から引く方法

1=0.999…の証明その2

1から0.999…を引くと、

\(\displaystyle 1-0.999\cdots=0.000\cdots\)となる。

右辺はどこまでいっても0しか出現しない(0が無限に続く)ので0

よって、\(\displaystyle 1-0.999\cdots=0\)となる。

移行して、

\(\displaystyle 1=0.999\cdots\)

この証明の問題点

この証明の最大の問題点は、

\(\displaystyle 1-0.999\cdots=0.000\cdots \)

の部分です。

\(\displaystyle 1-0.999\cdots\)の計算をどうやるかですが、

それを0.000…と書き表してるだけでどのような計算をしたのかは読み手が想像するしかありません。

いきなり、0.000…を0と書かないところに、工夫がありますが、この部分をもう少し説明すべきでしょう。

実は、この証明方法は、実はかなり優れています。厳密な証明の手法に近いです。

x=0.999…とおいてxを求める方法

いままでの例より少し高度(より数学的)に見える証明方法です。

1=0.999…の証明その3

\(x=0.999\cdots\)と置く。

両辺を10倍すると、

\(\displaystyle 10x=9.999\cdots\)となる。

最初の式を辺々引く。

\(\displaystyle 10x-x=9.999\cdots-0.999\cdots\)

\(\displaystyle 9x=9\)

両辺を9で割ると、

\(\displaystyle x=1\)

この証明の問題点

変数(未知数)\(x\)を使って式を組み立てているところがちょっと高度な感じになります。

証明のポイントは、無限に続く999…の部分を打ち消す部分です。

結果的には、この代数式は間違っていませんが、

\(\displaystyle 0.999\cdots×10=9.999\cdots\)の計算が行われています。

この部分は証明が必要ですね。

\(\frac{1}{3}\)を3倍する計算と同じように無限小数の掛け算をどのように計算するのか示さなければなりません。

また、この証明は、

\(9.999\cdots-0.999\cdots=9\)
という計算も行われています。

この等式の説明も必要です。

よくわからないものを\(x\)とおいて、\(x\)について調べるという、他にもいろいろと応用が利く証明方法で発展性はあるのですが、ここに書いた内容では\(0.999\cdots=1\)の証明として十分とは言えません。

1との平均をとる証明方法

1=0.999…の証明その4

s=0.999…とおく。

1とsの平均を考えます。

1+s=1.999… となり、1.999…を2で割れば平均が求まります。

割り算部分を、ひっ算の割り算方式で計算すると、

\(\displaystyle \frac{1+s}{2}=0.999\cdots\)が得られます。

右辺は、\(s\)と等しいので、

\(\displaystyle \frac{1+s}{2}=s\) から、

\(s\)を求めると \(s=1\)を得ます。

1と0.999…の平均、すなわち中間点をもとめたらどうなるのかという発想です。

1と0.999…の間にスキマがあるとしたら、その中間があるはずでそれがどのような値になっているのか調べたというわけですね。

平均(1との中間値)をとると、0.999…になるという事は中間がない(スキマがない)ということで1=0.999…という論法です。

この証明の問題点

これまでの証明と同様に、0.999…を含んだ演算結果が正しいのかという点にあります。

ここでは、1を足す演算と、2で割る演算が使われています。

1を1で割る証明方法

1=0.999…の証明その5
1÷3を筆算で計算すると、0.333…という結果を得ることができます。
 
同じように筆算で1÷1を計算します。
ただし、最初の1の位には1をたてず、あえて0を立てます。
すると、小数第一位には9が立つことになり、以後9が続くことがわかります。
つまり、1÷1=0.999…という結果が得られます。
 
一方、1÷1の答えは言うまでもなく、答えは1です。
よって、
1=1÷1=0.999…
を得ることができます。
 
無限小数を得る方法として、筆算での割り算があります。
この筆算での割り算手法をつかって有理数を無限小数に展開することができます。
1÷1の筆算での割り算から0.999…となる有理数が見つかります。
 

この証明の問題点

使っている手法が筆算の割り算だけのため、この割り算の正当性が認められれば特に問題はありません。

ただ、このような変則的な筆算が認められるかどうかは受け入れる側の主観に大きく左右されます。

x=0.999…の問題点の要点と解決策

いろいろな証明を紹介しましたが、問題点をまとめると以下の2点に集約されます。

  • \(0.999\cdots\)がどのような数を表しているのか、等しいとはどういうことかが不明確
  • \(0.999\cdots\)の四則演算が不明確

どの証明も、原理は0.999…になんらかの演算を施して結果を得るという方法です。

証明では演算が合理的なものを選んで説得しているわけです。

0.999…はどのような数なのか

そもそも、0.999…はどのような数なのでしょうか。

いうまでもありませんが、…部分が無限に続く数です。

円周率が、3.1415…と無限に続く小数であらわされるのと同じように、9が無限に続く小数が0.999…です。

それでは、無限小数となどのような数なのでしょうか。

これをつきく詰めていくと、実数とはなにか、実数とはどのような数なのかというかなり奥深い問題にたどり着きます。

数学を本格的に学んでいない普通の人は、数学で扱っている実数の定義を考えていません。

日常取り扱っている数(小数)の延長で実数を考えています。

実数の定義にまで話を掘り下げると、本題の0.999…=1の話題からかなり離れてしまうため、ここでは代わりに次のような数列\(\{a_n\}\)で無限小数を考えるという前提で話を進めます。

\(a_1=0.9、a_2=0.99、a_3=0.999、a_4=0.9999、\cdots\)

このような数列は、ある一つの実数に近づいていきます。

円周率の場合で補足すると、私達は、

\(p_1=3、p_2=3.1、p_3=3.14、p_4=3.141、p_5=3.1415、\cdots\)

のような数列\(\{p_n\}\)で円周率を考えています。

逆にいうと、円周率に近づいていく数列で円周率を捕えています。

円周率を小数で書くことはできません。無限の桁数(終わりのない桁数)なので。

このように無限小数はそれと同等の数列で考えることにして考えます。

これが実数(無限小数)の本質(正体)です。

さて、無限小数0.999…がどこに近づいていくのかというのがここで取り上げる問題です。

結論からいうと、0.999…は限りなく1に近づいていくため、0.999…=1で正しいということになります。

誤解を招く言い方になりますが「限りなく近づく二つの実数は等しい」とみなす事で実数は構成されています。

という事は、0.999…=1は、0.999…の定義から直接示されるのですが、実数の定義を明確に把握していなければこの事実は奇異に感じます。そこで演算をからめた証明法が編み出されていると考える事ができます。

二つの実数が近づくという言い方はおかしいです。なぜなら実数は動かないからです。この表現は、数列に対して言われます。二つの数列の差が0に限りなく近づいていく様子を実数が近づくという言い方で表現しています。

0.999…の演算について

さきほど、無限小数は数列で考えると書きましたが、その目的は演算するところにあります。

0.999…とほかの実数との四則演算をどのように定義するのか、数列を使うことで解決されます。

例えば、0.333…を3倍する演算は、次のような数列で考えます。まず、

\(a_1=0.3,a_2=0.33,a_3=0.333,\cdots\)という数列で0.333…を考えます。

数列の四則演算は、それぞれの項の四則演算でできた数列です。

3倍するということは、各項を3倍するという事です。

\(b_1=0.3×3\)
\(b_2=0.33×3\)
\(b_3=0.333×3\)
:

このように各項を三倍した数列\(\{b_n\}\)を考えます。

これは、

\(b_1=0.9\)
\(b_2=0.99\)
\(b_3=0.999\)

という数列です。

これが0.333…を3倍した循環小数に対応する数列になります。

この数列はある数に近づいていきます(上位の桁が固定されたままだんだん下位の桁数が増えていくので)。

では、次の例として1-0.999…を計算しています。

この場合、

\(c_1=1-0.9\)
\(c_2=1-0.99\)
\(c_3=1-0.999\)
:

と続く数列\(\{c_n\}\)を考えることになります。

この数列は、

0.1
0.01
0.001

と最後の桁だけが1で残りはすべて0である数の項からなる数列になります。

この数列は、0に限りなく近づきます。

したがって、この数列は0を表しているとみなされ

1-0.999…=0

という等式を得ることができます。

もう一つの例として、9.999…-0.999…の計算をしてみます。

これは、

9.999…を

9
9.9
9.99
9.999

という数列と考える事ができますから、

9.999…-0.999…を計算した結果の数列は、

9-0.9
9.9-0.99
9.99-0.999
:

となります。

計算するとこれは、

8.1
8.91
8.991
8.9991

という数列になります。

この数列は、限りなく9に近づいていくため、

9.999…-0.999…=9

という等式を得ることができるのです。

限りなく近づくという表現があいまいさを残していますが、実際の数学ではこのような考え方で無限小数の計算をしています。

つまり、無限小数の四則演算は、

  1. 無限小数を表す数列を考える
  2. 数列の項毎に演算を行った数列を考える。
  3. 演算を行った数列がどのような循環小数になるのか考える。

この3段階のステップで循環小数の四則演算は行われています。

わざわざ数列に置き換える意味がピンとこないかもしれませんが、置き換える数列の各項をすべて有理数に限定することで、無限小数の四則演算が、有理数の演算に置き換えることができるというのがミソです。


2進数で考える

ところで、ちょっと話はそれますが、下記の2進数で表される実数について考えてみます。

\((0.1111111\cdots)_2\)

2進数であることを示すために、無限小数に添え字2を付けています。

2進数ですので、小数第1位は\(\frac{1}{2}\)の位(くらい)で、以下、小数第2位は\(frac{1}{2^2}\)の位、小数第n位は、\(\frac{1}{2^n}\)の位となっています。

これを普通の10進数で表すと、

\(\displaystyle \frac{1}{2^1}+\frac{1}{2^2}+\frac{1}{2^3}+\frac{1}{2^4}+\cdots\)

\(=\frac{1}{2}+\frac{1}{4}+\frac{1}{8}+\frac{1}{16}+\cdots\)

となります。

この級数は1に収束します。

これは有名な級数ですので、級数に関わった人であれば、どこかで一度は目にしているものでしょう。

この等式に関してはだれしもが、説明を聞いて「なるほど」とすんなり認める等式です。

さて、2進数で1を表す時は、通常\((1)_2\)となります。

2進数の世界書いた、

\((1)_2=(0.111\cdots)_2\)という関係式は、

\[1=\frac{1}{2^1}+\frac{1}{2^2}+\frac{1}{2^3}+\frac{1}{2^4}+\cdots\]

であることと同じ意味になります。

これと同様に、

\(1=0.999\cdots\)

\(\displaystyle 1=\frac{9}{10^1}+\frac{9}{10^2}+\frac{9}{10^3}+\cdots\)
の意味するところは同じということになります。


x=0.999…が奇異に感じる理由

これまで、0.999…=1の証明をしてきましたが、今一つ釈然としない部分があるかもしれません。

おそらく、\(\frac{1}{3}=0.333\cdots\)については、すんなり受け入れられるのに、\(0.999\cdots\)になると、なにか釈然としないのではないでしょうか。

さきほど、その理由の一つとして、実数の定義の話をしました。

しかし、実数の定義がわかったとしても、やはり、\(0.999…=1\)はおかしいと思うかもしれません。

気持ちとしては、\(0.999…<1\)と考えてしまいます。

同じ実数が二通りの無限小数で表現されることがある

これは、無限小数を知っているつもりでも、意外に気が付かない事実です。

その代表例が1です。

よくある証明の5でわかるように、1は、2通りの小数での表し方があるのです。

実は、有限小数(ある桁移行がすべて0になる小数)は、無限小数に変換することができます。

例えば、2.5という数は、有限小数ですが、

2.5=2.4999…と9を無限に並べた無限小数に置き換えることができるのです。

二つの実数があたえられたとき、それらが同じかどうかは、それぞれの桁の数を比較して判断します。

例えば、2.3516と2.3526が同じかどうか調べるとき、それぞれの桁の数が同じかどうかで判断しています。この例の場合、小数第3位の数が異なっていますから、この二つの実数は違うものです。

この考え方でいくと、1.000…(あえて0が無限に続くと考える)と0.999…は、それぞれの桁の数が異なっています。この事からただちに「この二つの無限小数は異なる数である・・・」と誤判断してしまうわけですが、これはいらぬ先入観のおかげでひっかかりポイントであるのです。

「二つの無限小数のそれぞれの桁の数がすべて同じである」は「二つの無限小数が同じである」ための十分条件ではありますが、必要条件ではないのです。

わかりにくいので、この命題をもうすこし正確に書くと、

\(x,y\)を二つの実数とする。簡単のため、\((0<x,y<1)\)とする。
\(x\)の小数第\(n\)位の数を\(x_n\)、
\(y\)の小数第\(n\)位の数を\(y_n\)とする。
すべての自然数\(n\)に対して、\(x_n=y_n\)が成立することは、\(x=y\)であるための十分条件であるが、必要条件ではない

となります。

この知識があれば、\(1=0.999…\)はそれほど奇異に感じないのではないでしょうか。

実際、\(\frac{1}{3}>0.333\cdots\)だと主張する人を見かけません。

まとめ

  • 1=0.999…のよくある証明をいくつか示した。
  • 証明は、0.999…の意味(の振り返り)と、0.999…を演算した関係式の組み合わせで行われる。
  • 0.999…の意味は無限級数である。
  • 無限級数の意味をよく理解すれば1=0.999…は正しい。
  • 1=0.999…が奇異に感じるのは、同じ実数が二通りの無限小数で表されることはないと誤解しているため。
超実数なら?

数学の雑誌に、「1≠0.999…である数の体系がある」という内容の1文をみたことがあります。超実数の世界では1≠0.999…である事を示唆しているようでしたが、詳しいことはかかれていませんでした。

その1文の真意を確かめるために、私は、1≠0.999…の数の体系を探し続けました。

しかし、結論からいうと超実数の世界でも、1=0.999…です。そう考える方が理に適っていると私は考えています。

このあたりの考察はまたの機会に書いてみようと思います。

ε=1-0.999…と置いた時の無限小解析

タイトルとURLをコピーしました