0.999...

画像:999 Perspective.svg|class=skin-invert-image|500px|thumb|無限に"9"の続く無限小数
数学において"0.999…"は、小数点の後に無限に"9"が続く循環十進小数である。

**概要**
実数として "0.999…" と"1"は等しくなることを示すことができる（ただし、0.9999など途中で終了する小数は1と等しいと言えない）。この証明は、実数論の展開・背景にある仮定・歴史的文脈・対象となる聞き手などに応じて、多様な数学的厳密性に基づいた定式化がある。
循環する無限小数一般に言えることだが、0.999… の末尾の … は省略記号であり、続く桁も 9 であることを示す。省略記号の前の 9 の個数はいくつでもよく、0.99999… のように書いてもよい。あるいは循環節を明確にするために  などと表記される。
一般に、ある数を無限小数で表すことも有限小数で表すこともできる。本稿で示されるように 0.999… と 1 は等価であるから、例えば 8.32 は 8.31999… と書いても同じ数を表す。十進数を例に採ったが、数が一意に表示されないことは別の底の位取り記数法でも生じ、また小数表示以外でも同様に起こり得る。
と 1 の等価性は、実数の体系（これは解析学では最も一般的に用いられる体系である）に 0 でない無限小が存在しないことと深く関係している。一方、超実数の体系のように 0 でない無限小を含む別の数体系もある。そのような体系の大半は、標準的な解釈（有限小数の極限としての解釈）の下で式 0.999… の値は 1 に等しくなるが、一部の体系においては記号 "0.999…" に別の解釈を与えて 1 よりも無限小だけ小さいようにすることができる。
算数・数学教育において、1=0.999… = 1 という関係（または類似の関係）が正しいことを教えることは一つの課題となっている。個別には例えば、1 のような簡単な数に対しても別の表示方法（この場合、1=0.999…）があることや、1=0.999… が数列の極限の簡便な記法であること、極限の値は必ずしも元の数列に含まれないこと、また極限という概念そのものの理解が難しいことなどが挙げられる。

**代数的な証明**
という実数を明確にとらえるには、やはり小数点以下の位がすべて 9 であることを利用する。位取り記数法で表された有限小数における"位ごとの四則演算"が無限小数に対しても適用できる、と見なすと、1=0.999… = 1 を初等的に導くことができる。

**分数による証明**
を小数表示すると、小数点以下の位は全て 3 であることを利用する。 は 1 ÷ 3 の商であり、割り算の筆算により、循環小数 0.333… となる。ここで 3 は無限に続く。この小数点以下の各位は 3 倍するといずれも 9 となることから、有限小数のときと同様に各位への一斉な掛け算が可能とみなせば、無限小数 0.333… を 3 倍すると0.999… に等しい。一方、 である。従って 1=0.999… = 1 である。同様な別証明として、 の両辺に 9 を掛けることでもできる。


**位取り記数法の性質を利用した証明**
十進法表示の有限小数に 10 を掛けると、数字は変化することなく、小数点が1つ右に移動する。このことが無限小数に対しても成り立つと見なせば、1=0.999… × 10 = 9.999… であり、これはもとの数に比べて 9 大きい。引き算が位ごとに扱えることが無限小数に対しても成り立つと見なせば、1=9.999… − 0.999… = 9.000… である。ところが、小数点以下に無数に続く 0 は数を変化させないので、この差はまさしく 9 に等しい。問題の小数 0.999… を c と置くと、1=10c − c = 9 であり、この方程式を解くと、1=c = 1 が得られ、証明が完了する。つまり、導出は以下のようになる。

この位取り記数法の性質を利用した証明は他の有限小数（0.25 と 0.24999… など）にも適用できる。

**無数の位ごとの操作の正当性**
以上の2つの証明で用いた、無数の桁に対する位ごとの操作（つまり、掛け算や引き算）を一斉に行う（つまり…の部分に行う）ことは、厳密性に欠け、その正当性が明らかではない。有限小数に関しては、この過程は実数の計算法則にのみ依存している。この操作が無限小数にも適用できることを証明するためには、次節 #解析的な証明 に述べる実解析の手法を必要とする。
日本の数学教育においては、高校数学の数学Iで循環小数の足し算・引き算・10倍が公理として採用されているため、上記の代数的な操作は高校数学の範囲内では正しい証明とされる。

**解析的な証明**
という小数点以下の位に無数の 9 を加えていくという定義自体が解析的である。これが 1 に等しいことを厳密に証明するには、実解析の手法を必要とする。0.999… という無限小数を正確にとらえるには、小数部分の位が無数に並ぶことを明確に定義し直すことが必要となる。

**差に着目した証明**
が 1 に等しいことを証明するには、それらの差が 0 であることを証明すればよい。その分、無数に並ぶ 9 についての定義はぼやけるが、初等的かつ解析的に導くことができる。
なお、この証明では、最後に

であることを証明抜きで用いている。
これを証明するためには、実解析における実数の連続性（アルキメデスの性質）が必要となる。

**無数の位の定義の再考**
、一般には無限小数（小数点以下に無数に位が並ぶ実数）の明確な定義を議論し直すために、定式化する。0.999… を考えるのに、整数部分は1桁だけ考えれば十分であり、負の数は考えなくてよいので、考察するべき小数表示は

の形である。小数部分は整数部分と違って有限の桁数に制限されない。これは基数 10 の位取り記数法であるから、例えば  の単位は  の単位の 10|10 倍、 の単位は  の単位の  倍である。

**級数の計算**
小数展開の一般的な定義としては、おそらく級数（無限数列の総和）として定義することである。つまり

と表される。
ここで、0.999… の小数部分の計算には等比級数の公式：
 のとき 
を適用することが可能である。
は、上式の左辺で初項 , 公比  としたものであるから、この公式より

と簡単に問題を解決することができる。この証明は早くて1770年のレオンハルト・オイラーによる Elements of Algebra において（実際には 1=9.999… = 10 の証明としてだが）見られる。
画像:base4 333.svg|class=skin-invert-image|200px|left|thumb|極限：1 に収束する四進法表示の数列  を含む単位区間
等比級数の公式自体はオイラー以前の成果であるが、18世紀まではその導出がいずれも項別演算を証明なしで行われていた。1811年になってやっと、Bonnycastle の教科書 An Introduction to Algebra で等比級数に関する議論を行うことで 0.999… に関する項別操作を正当化している。
19世紀には、それまでの自由すぎる無限和の計算に対する反動として、「級数はその部分和の極限として定義される」という、現在の数学でも用いられている定義が生み出された。このころの証明に基づいた微積分学や解析学の入門書においては、関連する定理を証明することによりこの等比級数もはっきりと計算されている。
数列  において、番号 n を限りなく進ませると距離  が 0 に近づくときに、数列  の極限が x であると定義される。等式 1=0.999… = 1 自身は以下のように極限として表すことにより証明される。

最後の等号 () は、実数の連続性の一つであるアルキメデスの性質を用いて証明される。このような極限を基にした 0.999… の説明はしばしば、分かりやすいが不正確な言葉によって説明されている。例えば、1846年の教科書 The University Arithmetic は「0.999… と無限に続く数は 1 である。なぜなら 9 を積み重ねるたびにその値は 1 に近づくからである」と説明しており、1895年の Arithmetic for Schools は「9 を十分多く用いれば、0.999… と 1 の距離は驚くほど小さい値である」と説明している。直観に頼らず、はっきりとした理解を得るために、コーシーやボルツァーノらにより微積分を厳密な理論で再構築する流れが生まれた。1860年代にワイエルシュトラスにより ε-δ論法が考案され、無限の概念を不等式の任意性に置き換えることにより、項別操作の可能性などについても説明がついていくこととなる。

**区間縮小法と上限**
区間縮小法：
無限小数の小数部分を級数として直接計算する前述の導出に対して、それとは別に、もう一つの方法は、無限小数が取らない値の範囲を排除していくという方法である。
実数 x は閉区間 math|0, 10（すなわち 0 以上 10 以下）に属するとし、この区間 math|0, 10 を一の位ごとの 10 個の区間 math2|0, 1, 1, 2, 2, 3, …, 9, 10 に分割（端点のみで重なる）する。実数 x はこのうちの少なくとも1つに属し、その区間の下限、例えば x が区間 math|1, 2 に属するときには "1" を記録する。次に、属している区間 math|1, 2 を小数第一位ごとに math2|1, 1.1, 1.1, 1.2, …, 1.8, 1.9, 1.9, 2 に分割し、x が属する区間の下限を記録する、という操作を繰り返すと  から決まる区間の減少列が生み出される。この数列から

と表現される。
この記録の仕方により、実数 1 は最初に math|0, 1 に属するかそれとも math|1, 2 に属するかにより 1=1 = 1.000… と 1=1 = 0.999… の2通りの表示が得られることになる。このそれぞれの小数記録表示が表す実数が等しいことを証明するには、直接的には極限を用いてなされるが、順序の議論を続ける別の構成方法もある。
直接的な方法としては区間縮小法が挙げられる。この原理によれば、閉区間の減少列が与えられ、その幅が 0 に収束するとき、それらの区間の共通部分はただ1つの実数からなる1点集合であることが、実数の連続性より証明される。したがって  は  のすべてに属する唯一の実数であると定義される。したがって 0.999… は math2|0, 1, 0.9, 1, 0.99, 1, … のすべてに属する唯一の実数である。一方、実数 1 はこれらすべての区間に属するので 1=0.999… = 1 となる。
区間縮小法は、実数の連続性のうちのより直観的であると思われる上限の存在に基づいている。この事実を直接用いると、 を近似値の集合  の上限として定義することができる。増加列の上限の存在定理は実数の連続性として区間縮小法と同値であることが示せるので、再び 1=0.999… = 1 を得る。トム・アポストルは次のように結論付けた。
「実数が異なる2つの小数表示を持つ可能性があるという事実は、単に、実数からなる異なる2つの集合の上限・下限が等しくなる可能性があるという事実の裏返しに過ぎない。」

**実数の構成**
公理的集合論を用いて、実数の集合をlabel=有理数の集合上で組み立てられたある種の構造として明示的に定義する方法はいくつか存在する。まず、自然数とは、ものを数えるときに用いる番号のことであり、0 から始めて 0, 1, 2, … と、+1 ずつ添加していくことにより得られる。自然数を拡張して整数全体を得るには、各自然数の反数を添加すればよい。さらにそれらの商を添加すると、有理数全体が得られる。これらの数体系には、加減乗除という四則演算が付随しており、さらに、任意の2数を比較しての大小関係（どちらが大きいか、小さいか、等しいか）という順序をも備えている。
有理数から実数への拡張は（自然数から整数や有理数への拡張と比べて）大きな飛躍である。この拡張の方法は、少なくとも2つの手法がよく知られている。ともに1872年に発表された有理数の切断によるものとコーシー列によるものである。。現代数学では、解析学的に実数を構成し、それが数の公理を満たすかどうかに注意が払われる。公理による解析的手法により 1=0.999… = 1 を証明することになるからである。しかしながら、実数の構成をより適切に、論理的に行うことにより、1=0.999… = 1 の証明はもっと直接的になされる (self-contained) と主張する人もいる。

**デデキント切断による構成**
デデキント切断のアプローチでは、任意の実数 x は、「x より小さい有理数全体からなる無限集合」と定義される。この考え方では、実数 1 は「1 より小さいすべての有理数の集合」となる。
正の数でのデデキント切断は、その小数展開により得られる。小数表示を適当な位までで切って得られる有理数を使い、それより小さい有理数全体の和集合を作ればいいのである。この方法で実数 0.999… というものが何であるかを考えるなら、math2|r news:sci.math sci.math では、0.999… に関する議論は「流行のスポーツ」であり、それは FAQ で回答された問題の一つである。その FAQ は  を用いる方法、10倍する方法、極限を用いる方法を簡潔に扱い、さらには同様にコーシー列にも言及している。
アメリカの新聞 Chicago Reader のコラム The Straight Dope の2003年版では、誤った概念に関して言及しつつ、 や極限を通して 0.999… について次のように議論している。
「我々の中の類人猿的要素が、『0.999… は実際に数 を表しているのではなく、過程 を表している。一つの数を見つけるために我々はその過程を途中で断ち切らなければならない。その時点において 1=0.999… = 1 という概念は崩壊する。』と言って依然として抵抗している。
ナンセンスだ！」
The Straight Dope は「他の掲示板…ほとんどがビデオゲーム」から独立した専用の掲示板で議論を載せている。同様の調子で、0.999… の問題は、アメリカのゲーム開発会社ブリザード・エンターテイメントの Battle.net フォーラムで最初の7年間にとても一般的な話題であることが分かったため、社長の Mike Morhaime は2004年4月1日の記者会見で 1=0.999… = 1 であると発表した。
「我々はこの問題に対しきっぱりと決着をつけることに大変興奮しています。我々は 0.999… が 1 に等しいのか等しくないのかについての、心痛や心配に立ち会ってきました。ここに次の証明を提示し、我々の顧客に対して、最終的に断固としてこの問題に対処できることを嬉しく思います。」
続くプレスリリースで、極限に基づくものと 10 を掛けるものの2つの証明を提供している。

**関連する問題**
ゼノンのパラドックス、とりわけアキレウスと亀のパラドックスは、見かけ上のパラドックス 1=0.999… = 1 を連想させる。アキレウスのパラドックスは数学的にモデル化され、0.999… と同じように等比数列を用いて解決される。しかしながら、この数学的な取り扱いがゼノンが探求していた潜在的な形而上の問題に対処しているかどうかは明らかでない。ただし、無限和の値（ここでは有限小数の無限和としての無限小数）は、部分和の極限（限りなく近づいていくが、決して到達しない点）によって定義されているので、この方法では、パラドックスを解決したことにはならない、という論議がある（総和、循環小数、循環論法を参照）。この点に留意すれば、1=0.999… = 1 であると言う帰結は、極限によって無限小数の値を定義した結果であり、必ずしも自明なことではない（その意味では前述の「第1の等式を信じることと、第2の等式を信じないことの矛盾に直面すると、今度は第1の等式を疑い始める」という態度は、一定の数学的なセンスのある姿勢だと見ることもできる）。そもそも無限に存在する値を全て足し合わせることができるのか、と言う問いは未解決であり（現代数学では定義として処理されている。公理的集合論を参照）、1=0.999… = 1 やゼノンのパラドックスと言った話題がそのことを想起させてくれる恰好の題材であることは確かであろう。
*ゼロ除算|0 による除算は 0.999… のいくつかの一般的な議論に見られるが、それもまた論争を引き起こす。多くの著者が 0.999… を定義することを選択する一方で、実数の現代的な取り扱いでは 0 による除算は定義されない。というのは、それが通常の実数の範囲では意味を与えられないからである。しかしながら、0 による除算は複素解析など他の体系では定義されている。複素解析では、拡張された複素平面（リーマン球面）は無限遠点をもつ。ここで、 を無限大であると定義することには意味がある。また、実際その結果は奥深く、工学や物理学にも応用できる。何人かの著名な数学者は、どの数体系も発達するずっと前からそのような定義を論じていた。
*冗長な数表記の類例として−0|負の 0 が挙げられる。実数などの数体系においては、"0" は加法に関する単位元を意味し、正の数でも負の数でもない。通常 "−0" は加法に関する 0 の逆元を表すと解釈されるため、1=−0 = 0 でなければならない。それにもかかわらず、いくつかの科学的な応用では、正と負の 0 を分けて用いる。これはいくつかのコンピュータの数体系（例えば符号付数値表現、1 の補数表現、IEEE 754 で定義されたような浮動小数点表示）でもそうである。IEEE の浮動小数点数の場合は、負の 0 は、与えられた正確な数値を表すには（絶対値が）小さすぎるが、それでもなお負の数である値を表している。したがって、IEEE 浮動点数表示における「負の 0」は本来の意味で"負の 0" ではない。

**脚注**

**注釈**

**出典**

**参考文献**
:力学系に関するこの入門的な教科書は、学部生または初級の大学院生向けである (p.ix)。
*:微積分学からより進んだ解析学 Mathematical analysis への変遷が「ごまかさないで、厳密で、最新であると同時に学者ぶることのないように」意図されている。（序文）Apostol は実数の構成に上限の存在公理を用いており、無限小数が2ページ後で紹介されている (pp.9-11)。
*:このテキストは「実解析の基本的性質と技巧を扱う、理解しやすくてほどよい進度の教科書」を目指している。実数の構成には上限の存在公理を用いている。(pp.vii-viii)
*:この本は、その中心的な話題「数学的な現実性と物理的な現実性のやや希薄な関係」を調べる道具として、パラドックスと誤った推論による解析を紹介している。高校1年生程度の代数を仮定しており、（第2章の等比数列を含めて）さらに進んだ数学はこの本の中で発展していく。0.999… は完全に扱われているものの一つではないが、カントールの対角線論法を扱う中で簡潔に述べられている (pp.ix-xi, 119)。
*:このテキストは必修科目としての「基本的な微積分の厳密な課程」の役割を担っており、述べられているその原則は "An Introduction to Mathematics" として複素解析を紹介し、対象を明確に正確に述べることである (p.vii)。
*:集合論の入門的な学部生用の教科書であり、「特別な予備知識を前提としない」。公理的集合論または数体系の構成に焦点をおいた学習課程を提供するために書かれているが、公理という題材は、あまり重要視されないような方法で扱われている (pp.xi-xii)。- (LCC QA37.2 G75)
*:この本は、バーミンガム地方のグラマースクールの数学教師の課程から生まれたものである。この課程は、学校で教えられる数学を基にして大学レベルの数学への展望を伝えるのが目的であり、「大学で数学の専門課程を1年間学んだ程度のレベル」の生徒向けである。実数の構成は第24章で述べられているが、「おそらくこの本全体の中で最も難しい章」である。しかしながら著者たちはこの難しさをイデアル論を用いているためとしている。イデアル論はここでは扱われていない (pp.vii, xiv)。
*:Mankiewicz は、数学、数学者の著作、歴史的概略の視覚的な側面と質的な側面を組み合わせることによって「理解しやすい形式で数学の歴史」を述べようとしている (p.8)。
*:年代順というより話題別の無限に関する回顧。この本は「一般的な読者を意図している」が「数学者の視点から語っている」。数学的な厳密性と読みやすい言葉遣いの板ばさみで、Maor は「この問題を正しく取り扱うことに成功したことを願っている」と述べている。(pp.x-xiii)
*:形式的な予備知識を必要としないで「大学3-4年生または大学院の1年生レベル」における入門書を意図している。「読者が集合論についてよく知っていることを仮定すらしない。」(p.xi) Munkres の実数の扱いは公理的であり、この道具を持たない構成方法について彼は「このアプローチの方法は多くの時間と努力を必要とし、数学的な興味として扱うよりもはるかに論理的である。」と述べている。(p.30)
*:この本は「微積分学の標準的な仮定を終えた生徒に適切な、解析学の理論的構成を紹介する」ことを目標とする (p.vii)。第2章の終わりで著者は、実数において有界単調列が収束するということを公理として仮定しているが、その後で区間縮小法と上限の存在を証明している (pp.56-64)。小数展開は Appendix 3 "Expansions of real numbers in any base" に見られる (pp.503-507)。
*:実数のよく知られた性質を仮定する一方で、Pugh はできるだけ早い段階で実数の切断を紹介する。公理的な取り扱いについて「実数の体系に基づいて実数が構成されていることを考えると、これは一つの詐欺である。」と述べている (p.10)。上限の存在の性質とそれに関係するいくつかの事実を証明した後は、その他の場面で切断は用いられていない。- Free HTML preprint:  注：雑誌の論文にはプレプリントには見られない記述が含まれている。
*:より進んだ学部生の課程のための教科書。「有理数から実数を構成する方法から始めるのは（論理的には正しいけれども）教育上好ましくないことを経験上確信している。初期の段階では、多くの生徒は、このことの必要性についてその価値を認めることができない。それゆえ、実数の体系は、上限が存在する実数体として紹介され、この性質の興味深いいくつかの応用例がすぐになされる。デデキントの構成は無視されている。現在はこれは第1章の Appendix にあり、機が熟したときにいつでも勉強して楽しむことができる。」(p.ix)
*:この本は「生徒たちが微積分を理解するのを援助」し、「観念に対する理解を育成する」ことを目的としている (p.v)。微積分の基本性質の証明は省略されている。

**関連項目**
循環小数
*十進法
*超準解析
*実数
*実数の連続性
*コーシー列
*デデキント切断
*: 0.999… と同じく、1 に等しい数式。

**外部リンク**
 .999999... = 1?  from cut-the-knot- Why does 0.9999… = 1 ? - Repeating Nines - Point nine recurring equals one - David Tall's research on mathematics cognition