ここは余談。
コンピュータで使う2の補数表現ならば、例えば符号付き2バイト表現のとき
-1はFFFF となります。ちょっと似てるかも。
さて本題。質問者さんは、
1 = 0.9999… の初等的な証明と同様の方法を使って…9999 = -1を証明したのに、
前者はOK、後者はNGなのが気持ち悪いということですよね。
1 = 0.999… の証明はこんな感じですね。
x = 0.999… (1) とおくと
10x = 9.999… (2) だから
(2)から(1)を引いて 9x = 9
よって x = 1
ここで(2)から(1)を引くときに、右辺は各桁での引き算を行っています。
(1)の右辺は0.9, 0.09, 0.009 … と続く数列の和の極限です。
(2)の右辺は9, 0,9, 0.09, 0.009 … と続く数列の和の極限です。
右辺の各桁を引いて9になるという論法は、実は、
「極限の差(9.999… - 0.999…)」と「差の極限(各桁を引いた結果の極限である9)」を
同一視してよいことが前提なのです。
数列{an}{bn}がともに収束するならば
lim[n→∞](an - bn)= lim(an) - lim(bn)
という定理を見たことがないですか。
この「ともに収束する」という前提はここで生きているのです。
0.999… は (1になるかはわからないけど)有限確定値であるから、
それをxとおいてよいし、各桁で引き算してもいいのです。
いわゆる初等的な、中学生に説明するような証明の時にはこの前提は省略しているだけです。
一方…9999 = -1の証明はどうでしょう。
そもそも左辺は有限確定値ではないのでxとおけませんが、それでも無理やり置いたとします。
x = …9999 (3)
10x = …99990 (4)
ここまでは仮に認めたとしても、(3)から(4)を引くときに
右辺は 単に…9999 - …99990 であって、これを9とできないのです。
それは各桁で引き算できない、すなわち
xが有限確定値ではないために極限操作と減法を入れ替えられるとは限らないからです。
お礼
回答ありがとうございます。 > コンピュータで使う2の補数表現ならば、例えば符号付き2バイト表現のとき > -1はFFFF となります。ちょっと似てるかも。 私もそう思いました。 ついでに-2 = ・・・999998が、2の補数でFFFEとなるとか、 なんだかこの無限に続く数は2の補数との類似点が多く見られます。 ・・・999999 + 1 = 0 となるのを示す計算式が本に載っているんですが、 2の補数の加算回路の演算方法と同じでした。 > 1 = 0.9999… の初等的な証明と同様の方法を使って…9999 = -1を証明したのに、 > 前者はOK、後者はNGなのが気持ち悪いということですよね。 質問した時点ではNGだということは知りませんでした。 ただ、1 = 0.999999・・・の話(と示し方)は良く出てくるのに、 同じ方法で-1 = 999999・・・の話(と示し方)をしないのは 変だなと感じていたんです。 > 右辺の各桁を引いて9になるという論法は、実は、 > 「極限の差(9.999… - 0.999…)」と「差の極限(各桁を引いた結果の極限である9)」を > 同一視してよいことが前提なのです。 よく分かりました。 やはり無限を扱うのは難しいですね。