0.999...

数学において"0.999…"は、小数点の後に無限に"9"が続く循環十進小数である。 実数として "0.999…" と"1"は等しくなることを示すことができる（ただし、0.9999など途中で終了する小数は1と等しいと言えない）。この証明は、実数論の展開・背景にある仮定・歴史的文脈・対象となる聞き手などに応じて、多様な数学的厳密性に基づいた定式化がある。 循環する無限小数一般に言えることだが、0.999… の末尾の … は省略記号であり、続く桁も 9 であることを示す。省略記号の前の 9 の個数はいくつでもよく、0.99999… のように書いてもよい。あるいは循環節を明確にするために 0..9、0.9、0.(9) などと表記される。 一般に、ある数を無限小数で表すことも有限小数で表すこともできる。本稿で示されるように 0.999… と 1 は等価性であるから、例えば 8.32 は 8.31999… と書いても同じ数を表す。十進数を例に採ったが、数が一意に表示されないことは別の底の位取り記数法でも生じ、また小数表示以外でも同様に起こり得る。 0.999… と 1 の等価性は、実数の体系（これは解析学では最も一般的に用いられる体系である）に 0 でない無限小が存在しないことと深く関係している。一方、超実数の体系のように 0 でない無限小を含む別の数体系もある。そのような体系の大半は、標準的な解釈の下で式 0.999… の値は 1 に等しくなるが、一部の体系においては記号 "0.999…" に別の解釈を与えて 1 よりも無限小だけ小さいようにすることができる。 算数・数学教育において、0.999… = 1 という関係（または類似の関係）が正しいことを教えることは一つの課題となっている。個別には例えば、1 のような簡単な数に対しても別の表示方法（この場合、0.999…）があることや、0.999… が数列の極限の簡便な記法であること、極限の値は必ずしも元の数列に含まれないこと、また極限という概念そのものの理解が難しいことなどが挙げられる。 0.999… という実数を明確にとらえるには、やはり小数点以下の位がすべて 9 であることを利用する。位取り記数法で表された有限小数における"位ごとの四則演算"が無限小数に対しても適用できる、と見なすと、0.999… = 1 を初等的に導くことができる。 1/3 を小数表示すると、小数点以下の位は全て 3 であることを利用する。1/3 は 1 ÷ 3 の商であり、割り算の筆算により、循環小数 0.333… となる。ここで 3 は無限に続く。この小数点以下の各位は 3 倍するといずれも 9 となることから、有限小数のときと同様に各位への一斉な掛け算が可能とみなせば、無限小数 0.333… を 3 倍すると0.999… に等しい。一方、1/3 × 3 = 1 である。従って 0.999… = 1 である。同様な別証明として、1/9 = 0.111… の両辺に 9 を掛けることでもできる。 0.333 … = 1 3 3 × 0.333 … = 3 × 1 3 ∴ 0.999 … = 1 {\displaystyle {\begin{aligned}0.333\dots &={\frac {1}{3}}\\3\times 0.333\dots &=3\times {\frac {1}{3}}\\\therefore 0.999\dots &=1\end{aligned}}} 十進法表示の有限小数に 10 を掛けると、数字は変化することなく、小数点が1つ右に移動する。このことが無限小数に対しても成り立つと見なせば、0.999… × 10 = 9.999… であり、これはもとの数に比べて 9 大きい。引き算が位ごとに扱えることが無限小数に対しても成り立つと見なせば、9.999… − 0.999… = 9.000… である。ところが、小数点以下に無数に続く 0 は数を変化させないので、この差はまさしく 9 に等しい。問題の小数 0.999… を c と置くと、10c − c = 9 であり、この方程式を解くと、c = 1 が得られ、証明が完了する。つまり、導出は以下のようになる。 c = 0.999 ⋯ 10 c = 9.999 ⋯ 10 c − c = 9.999 ⋯ − 0.999 ⋯ 9 c = 9 c = 1 {\displaystyle {\begin{aligned}c&=0.999\cdots \\10c&=9.999\cdots \\10c-c&=9.999\cdots -0.999\cdots \\9c&=9\\c&=1\end{aligned}}} この位取り記数法の性質を利用した証明は他の有限小数（0.25 と 0.24999… など）にも適用できる。 以上の2つの証明で用いた、無数の桁に対する位ごとの操作（つまり、掛け算や引き算）を一斉に行う（つまり…の部分に行う）ことは、厳密性に欠け、その正当性が明らかではない。有限小数に関しては、この過程は実数の計算法則にのみ依存している。この操作が無限小数にも適用できることを証明するためには、次節 #解析的な証明 に述べる実解析の手法を必要とする。 日本の数学教育においては、高校数学の数学Iで循環小数の足し算・引き算・10倍が公理として採用されているため、上記の代数的な操作は高校数学の範囲内では正しい証明とされる。 0.999… という小数点以下の位に無数の 9 を加えていくという定義自体が解析的である。これが 1 に等しいことを厳密に証明するには、実解析の手法を必要とする。0.999… という無限小数を正確にとらえるには、小数部分の位が無数に並ぶことを明確に定義し直すことが必要となる。 0.999… が 1 に等しいことを証明するには、それらの差が 0 であることを証明すればよい。その分、無数に並ぶ 9 についての定義はぼやけるが、初等的かつ解析的に導くことができる。 （証明） 1 − 0.999 ⋯ = lim n → ∞ 1 − 0. 99 ⋯ 9 ⏟ n = lim n → ∞ 1 − ( 1 − 0. 00 ⋯ 1 ⏟ n ) = lim n → ∞ 0. 00 ⋯ 1 ⏟ n = lim n → ∞ { ( 1 10 ) n } = 0 {\displaystyle {\begin{aligned}1-0.999\cdots &=\lim _{n\to \infty }1-0.\underbrace {99\cdots 9} _{n}\\&=\lim _{n\to \infty }1-(1-0.\underbrace {00\cdots 1} _{n})\\&=\lim _{n\to \infty }0.\underbrace {00\cdots 1} _{n}\\&=\lim _{n\to \infty }\left\{\left({\frac {1}{10}}\right)^{n}\right\}\\&=0\qquad \qquad \end{aligned}}} なお、この証明では、最後に lim n → ∞ ( 1 10 ) n = 0 {\displaystyle \lim _{n\to \infty }\left({\frac {1}{10}}\right)^{n}=0} であることを証明抜きで用いている。 これを証明するためには、実解析における実数の連続性（アルキメデスの性質）が必要となる。 0.999…、一般には無限小数（小数点以下に無数に位が並ぶ実数）の明確な定義を議論し直すために、定式化する。0.999… を考えるのに、整数部分は1桁だけ考えれば十分であり、負の数は考えなくてよいので、考察するべき小数表示は a 0 . a 1 a 2 a 3 ⋯ {\displaystyle a_{0}.a_{1}a_{2}a_{3}\cdots } の形である。小数部分は整数部分と違って有限の桁数に制限されない。これは基数 10 の位取り記数法であるから、例えば a1 の単位は a2 の単位の 10 倍、a3 の単位は a2 の単位の 1/10 倍である。 小数展開の一般的な定義としては、おそらく級数（無限数列の総和）として定義することである。つまり a 0 . a 1 a 2 a 3 ⋯ = a 0 + a 1 ( 1 10 ) + a 2 ( 1 10 ) 2 + a 3 ( 1 10 ) 3 + ⋯ {\displaystyle a_{0}.a_{1}a_{2}a_{3}\cdots =a_{0}+a_{1}\left({\frac {1}{10}}\right)+a_{2}\left({\frac {1}{10}}\right)^{2}+a_{3}\left({\frac {1}{10}}\right)^{3}+\cdots } と表される。 ここで、0.999… の小数部分の計算には等比級数の公式： |r| < 1 のとき a + a r + a r 2 + ⋯ = a 1 − r {\displaystyle a+ar+ar^{2}+\cdots ={\frac {a}{1-r}}} を適用することが可能である。 0.999… は、上式の左辺で初項 a = 9/10, 公比 r = 1/10 としたものであるから、この公式より 0.999 ⋯ = 9 ( 1 10 ) + 9 ( 1 10 ) 2 + 9 ( 1 10 ) 3 + ⋯ = 9 ( 1 10 ) 1 − 1 10 = 1 {\displaystyle 0.999\cdots =9\left({\frac {1}{10}}\right)+9\left({\frac {1}{10}}\right)^{2}+9\left({\frac {1}{10}}\right)^{3}+\cdots ={\frac {9({\tfrac {1}{10}})}{1-{\tfrac {1}{10}}}}=1} と簡単に問題を解決することができる。この証明は早くて1770年のレオンハルト・オイラーによる Elements of Algebra において（実際には 9.999… = 10 の証明としてだが）見られる。 等比級数の公式自体はオイラー以前の成果であるが、18世紀まではその導出がいずれも項別演算を証明なしで行われていた。1811年になってやっと、Bonnycastle の教科書 An Introduction to Algebra で等比級数に関する議論を行うことで 0.999… に関する項別操作を正当化している。 19世紀には、それまでの自由すぎる無限和の計算に対する反動として、「級数はその部分和の極限として定義される」という、現在の数学でも用いられている定義が生み出された。このころの証明に基づいた微積分学や解析学の入門書においては、関連する定理を証明することによりこの等比級数もはっきりと計算されている。 数列 {xn} において、番号 n を限りなく進ませると距離 |xn − x| が 0 に近づくときに、数列 {xn} の極限が x であると定義される。等式 0.999… = 1 自身は以下のように極限として表すことにより証明される。 0.999 ⋯ = lim n → ∞ 0. 99 ⋯ 9 ⏟ n = lim n → ∞ ∑ k = 1 n 9 10 k = lim n → ∞ ( 1 − 1 10 n ) = 1 − lim n → ∞ 1 10 n = 1 {\displaystyle 0.999\cdots =\lim _{n\to \infty }0.\underbrace {99\cdots 9} _{n}=\lim _{n\to \infty }\textstyle \sum \limits _{k=1}^{n}\displaystyle {\frac {9}{10^{k}}}=\lim _{n\to \infty }\left(1-{\frac {1}{10^{n}}}\right)=1-\lim _{n\to \infty }{\frac {1}{10^{n}}}=1} 最後の等号 ( lim n → ∞ 1 10 n = 0 {\displaystyle \lim _{n\to \infty }{\tfrac {1}{10^{n}}}=0} ) は、実数の連続性の一つであるアルキメデスの性質を用いて証明される。このような極限を基にした 0.999… の説明はしばしば、分かりやすいが不正確な言葉によって説明されている。例えば、1846年の教科書 The University Arithmetic は「0.999… と無限に続く数は 1 である。なぜなら 9 を積み重ねるたびにその値は 1 に近づくからである」と説明しており、1895年の Arithmetic for Schools は「9 を十分多く用いれば、0.999… と 1 の距離は驚くほど小さい値である」と説明している。直観に頼らず、はっきりとした理解を得るために、コーシーやボルツァーノらにより微積分を厳密な理論で再構築する流れが生まれた。1860年代にワイエルシュトラスにより ε-δ論法が考案され、無限の概念を不等式の任意性に置き換えることにより、項別操作の可能性などについても説明がついていくこととなる。 無限小数の小数部分を級数として直接計算する前述の導出に対して、それとは別に、もう一つの方法は、無限小数が取らない値の範囲を排除していくという方法である。 実数 x は閉区間 [0, 10]（すなわち 0 以上 10 以下）に属するとし、この区間 [0, 10] を一の位ごとの 10 個の区間 [0, 1], [1, 2], [2, 3], …, [9, 10] に分割（端点のみで重なる）する。実数 x はこのうちの少なくとも1つに属し、その区間の下限、例えば x が区間 [1, 2] に属するときには "1" を記録する。次に、属している区間 [1, 2] を小数第一位ごとに [1, 1.1], [1.1, 1.2], …, [1.8, 1.9], [1.9, 2] に分割し、x が属する区間の下限を記録する、という操作を繰り返すと a0, a1, a2, a3, … から決まる区間の減少列が生み出される。この数列から x = a 0 . a 1 a 2 a 3 ⋯ {\displaystyle x=a_{0}.a_{1}a_{2}a_{3}\cdots } と表現される。 この記録の仕方により、実数 1 は最初に [0, 1] に属するかそれとも [1, 2] に属するかにより 1 = 1.000… と 1 = 0.999… の2通りの表示が得られることになる。このそれぞれの小数記録表示が表す実数が等しいことを証明するには、直接的には極限を用いてなされるが、順序の議論を続ける別の構成方法もある。 直接的な方法としては区間縮小法が挙げられる。この原理によれば、閉区間の減少列が与えられ、その幅が 0 に収束するとき、それらの区間の共通部分はただ1つの実数からなる1点集合であることが、実数の連続性より証明される。したがって x = a0.a1a2a3… は [a0, a0 + 1], [a0.a1, a0.a1 + 0.1], … のすべてに属する唯一の実数であると定義される。したがって 0.999… は [0, 1], [0.9, 1], [0.99, 1], … のすべてに属する唯一の実数である。一方、実数 1 はこれらすべての区間に属するので 0.999… = 1 となる。 区間縮小法は、実数の連続性のうちのより直観的であると思われる上限の存在に基づいている。この事実を直接用いると、a0.a1a2a3… を近似値の集合 {a0, a0.a1, a0.a1a2, …} の上限として定義することができる。増加列の上限の存在定理は実数の連続性として区間縮小法と同値であることが示せるので、再び 0.999… = 1 を得る。トム・アポストルは次のように結論付けた。 「実数が異なる2つの小数表示を持つ可能性があるという事実は、単に、実数からなる異なる2つの集合の上限・下限が等しくなる可能性があるという事実の裏返しに過ぎない。」 公理的集合論を用いて、実数の集合を有理数の集合上で組み立てられた（英語版）ある種の構造として明示的に定義する方法はいくつか存在する。まず、自然数とは、ものを数えるときに用いる番号のことであり、0 から始めて 0, 1, 2, … と、+1 ずつ添加していくことにより得られる。自然数を拡張して整数全体を得るには、各自然数の反数を添加すればよい。さらにそれらの商を添加すると、有理数全体が得られる。これらの数体系には、加減乗除という四則演算が付随しており、さらに、任意の2数を比較しての大小関係（どちらが大きいか、小さいか、等しいか）という順序をも備えている。 有理数から実数への拡張は（自然数から整数や有理数への拡張と比べて）大きな飛躍である。この拡張の方法は、少なくとも2つの手法がよく知られている。ともに1872年に発表された有理数の切断によるものとコーシー列によるものである。これらの実数の構成法により 0.999… = 1 を証明している実解析の教科書は見られない[要出典]。現代数学では、解析学的に実数を構成し、それが数の公理を満たすかどうかに注意が払われる。公理による解析的手法により 0.999… = 1 を証明することになるからである。しかしながら、実数の構成をより適切に、論理的に行うことにより、0.999… = 1 の証明はもっと直接的になされる (self-contained) と主張する人もいる。 デデキント切断のアプローチでは、任意の実数 x は、「x より小さい有理数全体からなる無限集合」と定義される。この考え方では、実数 1 は「1 より小さいすべての有理数の集合」となる。 正の数でのデデキント切断は、その小数展開により得られる。小数表示を適当な位までで切って得られる有理数を使い、それより小さい有理数全体の和集合を作ればいいのである。この方法で実数 0.999… というものが何であるかを考えるなら、r < 0, r < 0.9, r < 0.99, …（つまり、ある自然数 n に対して、r < 1 − (1/10)n を満たす有理数 r すべてが作る集合）として定義されるということになる。0.999… より小さい有理数すべては 1 より小さいので、これは実数 1 の元に含まれる。一方、実数 1 の元となる任意の有理数 a b < 1 {\displaystyle {\frac {a}{b}}<1} (b ≥ 1) を考えると、 a b = 1 − b − a b ≤ 1 − 1 b < 1 − ( 1 10 ) b {\displaystyle {\frac {a}{b}}=1-{\frac {b-a}{b}}\leq 1-{\frac {1}{b}}<1-\left({\frac {1}{10}}\right)^{b}} となるため、a/b は 0.999… の元になっている。よって、0.999… と 1 とは全く同じ有理数をすべて元として含み、これらは集合として等しい。つまり 0.999… = 1 であるというわけである。 デデキント切断による実数の定義は、1872年にリヒャルト・デーデキントによって初めて発表された。上記の、実数をそれぞれの小数展開に帰着させる方法は、フレッド・リッチマン (Fred Richman) によって雑誌 Mathematics Magazine に投稿された "Is 0.999… = 1?" という解説論文による説明である。この論文は大学の数学教師とその生徒向けに書かれている。リッチマンは、有理数の任意の稠密な部分集合における切断を考えても同様な結果をもたらすことを指摘している。その中で彼は、分母が 10 の冪である分数全体の成す稠密部分集合を用いて、0.999… = 1 の証明をより直接的に与えている。また、x < 1 となる x は切断を有するが、x ≤ 1 となる x は切断をもたないことも指摘し、「これは 0.999… と 1 が異なってしまうことを排除するものである。……実数の伝統的な定義の中に、等式 0.999… = 1 は最初から組み込まれている」と評した。リッチマンは、この手順に修正を加えることで、0.999… ≠ 1 となる別の構造を導いている。 実数を構成するもう一つの方法は、実数の切断に比べれば間接的にではあるがやはり有理数の順序を用いるものである。まず、2つの有理数 x と y に対して、距離 d(x, y) を絶対値 |x − y| で定義する（z の絶対値 |z| とは z と −z の小さくない方と定義され、非負である）。そして実数全体というものを、この距離 d に関する有理数のコーシー列全体を以下で定義する同値類で割ったものとして定義するのである（実数の完備性も参照のこと）。ここで、有理数列（つまり自然数から有理数への写像）{xn} がコーシー列であるとは、 任意の正の数 ε に対して、番号 N が存在し、N より大きいすべての m, n に対して |xm − xn| < ε が成り立つ（つまり、番号が十分先なら隣接2項間の距離が限りなく小さくなる）ことと定義される。 2つのコーシー列 {xn}と {yn} が同値であることを、xn − yn が 0 に収束することと定める。小数 a0.a1a2a3… に対して、各位以降を順に切り捨てていくことにより得られる数列は有理数のコーシー列を定めるので、このコーシー列が、この小数展開の表している実数の真の値と定められることになる。 この性質より 0.999… = 1 を証明するためにしなければならないことは、有理数のコーシー列 { x n } := { 1 , 1 , 1 , 1 , ⋯ } {\displaystyle \{x_{n}\}:=\{1,1,1,1,\cdots \}} { y n } := { 0 , 0.9 , 0.99 , 0.999 , ⋯ } {\displaystyle \{y_{n}\}:=\{0,0.9,0.99,0.999,\cdots \}} が同値である、すなわち lim n → ∞ ( x n − y n ) = lim n → ∞ ( 1 10 ) n {\displaystyle \lim _{n\to \infty }(x_{n}-y_{n})=\lim _{n\to \infty }\left({\frac {1}{10}}\right)^{n}} が 0 に収束することを証明することである。 この極限は単純で、数列の極限の定義により示される。こうして、やはり 0.999… = 1 が示されたことになる。 コーシー列による実数の定義は、最初に（いずれも）1872年にエドゥアルト・ハイネとゲオルク・カントールにより独立に発表された。0.999… = 1 の証明を含む、小数展開による上記のアプローチは1970年にグリフィス (Griffiths) とヒルトン (Hilton) の書いた教科書 A comprehensive textbook of classical mathematics: A contemporary interpretation （「古典数学に関する総合教科書：現代的解釈」）に従っている。この教科書は、よく知られた概念について、現代の観点から再検討することを主眼に書かれている。 実数は標準的な数体系であるが、"0.999…" という無数桁の表記がある実数を表すだろうと、人類[誰?]は自然に考えている。ウィリアム・ティモシー・ガワーズは Mathematics: A Very Short Introduction で、等式 0.999… = 1 を結論することも同様に『慣習』であると述べている。すなわち、 「しかしながら、それは決して恣意的な慣習ではない。なぜなら、それを受け入れなければ、一風変わった新しい対象を発明するか、または算術のよく知られた規則のいくつかを諦めるかのどちらかが強制されるからである。」 標準的な数体系である実数体に対して、通常と異なる方法で数を構成し、0.999… という表記が意味を持つ、実数とは別の数体系を定義することができる。そのような数体系においては本項冒頭辺りの節で示した証明などはその体系における記述として解釈し直さなければならず、またそういった体系において（上記の証明が正しいとする根拠を失ったり、誤りであると示されたりして）0.999… と 1 とが同一の対象を表すものでない可能性が見出されることもある。そうは言っても、多くの数体系は（実数の体系を代替するような独立した対象としてではなく）実数の体系の拡張となるものであって、故にそこでは 0.999… = 1 も引き続き成立することとなる。しかしそういった体系においてさえも、（"0.999…" と表示される数が意味を持つ場合には）0.999… がどのように振る舞うかということだけではなく関連する現象の振る舞いに対して考えるために、代替の数体系を考察するということは意味のあることであるといえる。つまり、ある現象が実数体系における場合とは異なる振る舞いをするのであれば、その体系に組み込まれた前提条件は、実数体系のそれの少なくとも一つを壊したものになっていなければならない（以下に挙げるような体系が、実数におけるどのような現象や条件を否定するのかという観点に立って説明することができる）[独自研究?]。 0.999… = 1 のいくつかの証明は、通常の実数がアルキメデス順序体であること、すなわち、"0 でない無限小は存在しない" ことに依存している。特に、差 1 − 0.999… は任意の正の有理数よりも小さいはずであるから、それは（0 か）無限小でなければならないが、実数の体系には 0 でない無限小は無いので、差は 0、つまり二つの値は等しいことが結論付けられる。それでも、実数の非アルキメデス的代替となりうる様々な体系を含む、数学的に一貫した順序代数系（英語版）は存在する。 超準解析によって、無限小（およびその逆数）の完全な系列を含んだ数体系が提供される。ライトストーン（英語版）は区間 (0, 1)∗ に属する超実数 (hyper­real number) に対する小数展開を考えた。ライトストーンは、拡張実数に超自然数で添字付けられた数字列 0. d 1 d 2 d 3 ⋯ ; ⋯ d ∞ − 1 d ∞ d ∞ + 1 ⋯ {\displaystyle 0.d_{1}d_{2}d_{3}\cdots ;\cdots d_{\infty -1}d_{\infty }d_{\infty +1}\cdots } が対応することを指摘した。ここでセミコロンの左側は有限（標準）自然数桁を表し、セミコロンの右側は無限大（超準）自然数桁を表す。ここで、セミコロンの直前や直後の桁といったものは存在しないことに注意。ライトストーンは 0.999… について直接扱ったわけではなく、移行原理（英語版） の帰結として実数 1⁄3 が 0.333…;…333… で表されることを指摘した。故に 0.999…;…999… = 1 である。ここで言う意味での小数展開が必ずしも数を表すとは限らないことに注意すべきである。特に "0.333…;…000…" や "0.999…;…000…" は何の数とも対応しない。この事実はoverspill principle（英語版）を使って説明できる。小数展開の各桁を写像 d : ∗ Z + → { 0 , 1 , ⋯ , 9 } {\displaystyle d\colon {}^{\ast }\mathbb {Z} _{+}\to \{0,1,\cdots ,9\}} と見做す。有限桁目が全て 3 だと仮定する。つまり Z + ⊆ { n ∈ ∗ Z + ∣ d ( n ) = 3 } {\displaystyle \mathbb {Z} _{+}\subseteq \{n\in {}^{\ast }\mathbb {Z} _{+}\mid d(n)=3\}} である。ここにoverspill principleを適用すると、ある無限大超自然数 n {\displaystyle n} があって [ 1 , n ] ⊆ { n ∈ ∗ Z + ∣ d ( n ) = 3 } {\displaystyle [1,n]\subseteq \{n\in {}^{\ast }\mathbb {Z} _{+}\mid d(n)=3\}} が成り立つ。つまり d {\displaystyle d} は "0.333…;…333000…" や "0.333…;…333001854…" のように、ある無限大桁目まで3が連続する超実数でなければならない。なお、超実数体は順序体であるから順序位相を考えることができるが、（超）実数の可算列 { 1 − 10 − n } n ∈ N {\displaystyle \{1-10^{-n}\}_{n\in \mathbb {N} }} は収束しないから、標準桁目だけがちょうど 9 であるような超実数はそうした有限小数表示の位相的極限と見做すとしてもなお存在しない。 数 0.999… の標準的な定義は 0.9, 0.99, 0.999, … なる数列の極限であるが、それと異なる定義として例えばテレンス・タオが超極限 (ultralimit) と呼ぶ数列 0.9, 0.99, 0.999, … の超冪構成（英語版）に関する同値類 [(0.9, 0.99, 0.999, …)] は 1 より無限小だけ小さい。より一般に、階数 H の無限大超自然数の位置に最後の 9 がくる超実数 uH = 0.999…;…999000…, はより厳密な不等式 uH < 1 を満足する。これに応じて、「無限個の 9 のあとに 0 が続く」ことの別解釈を 0. 999 ⋯ ⏟ H = 1 − 1 10 H {\displaystyle 0.\underbrace {999\cdots } _{H}=1-{\frac {1}{10^{H}}}} と理解することができる。このように解釈した "0.999…" は 1 に「無限に近い」。イアン・スチュアートはこの解釈を、「0.999… は 1 よりも『ほんの少しだけ小さい』」という直観を厳密に正当化する「全く合理的な」方法として特徴づけた。Katz & Katz (2010b) に基づき、R. Ely (2010) もまた学徒のもつ「0.999… < 1 という考えを実数に対する誤った直観とする仮定に疑問を呈し、むしろそれを「超準的」直観と解釈した方が解析学の習得において価値があるのではないかとした。Jose Benardete は自身の著書 Infinity: An essay in metaphysics において、過度に制限された数体系に話を限定する限り、数学以前の自然な直観のいくらかは言い表すことができないのだと主張した。 The intelligibility of the continuum has been found—many times over—to require that the domain of real numbers be enlarged to include infinitesimals. This enlarged domain may be styled the domain of continuum numbers. It will now be evident that .9999⋯ does not equal 1 but falls infinitesimally short of it. I think that .9999⋯ should indeed be admitted as a number ⋯ though not as a real number.（訳: 連続体の明確な理解には、実数の領域を無限小を含むように拡大することが必要だと（何度も繰り返し）見出されてきた。この拡大された領域は、連続体数の領域の形を取るだろう。今や 0.9999… が 1 に等しくなく、それよりも無限小だけ小さいことは明らかだ。私は 0.9999… は「実」数としてではないけれども「数」として実際に許されるべきと思う。） 前項と特に関連して、組合せゲーム理論（英語版）における同様の実数代替体系として、"無限二色ハッケンブッシュゲーム (infinite Blue-Red Hackenbush)" を考えることができる。1974年に、エルウィン・バーレカンプ (Elwyn Berlekamp) はデータ圧縮のアイディアに刺激されてハッケンブッシュ文字列と実数の2進展開の関係について述べた。例えば、"ハッケンブッシュ文字列 (Hackenbush string)" LRRLRLRL… の値は 0.010101… = 1/3 である。しかしながら、文字列 LRLLL…（0.111… に対応する）の値は 1 に比べてごくわずかだけ小さい。 これらの2数（LRLLL… と 1）の差は超現実数 1/ω（ω は最小の超限順序数）である。これに関連するゲームは LRRRR… すなわち 0.000… である。 別の方法は、引き算はいつでもできるわけではなくて「1 − 0.999… は存在しない」としてしまうことである。加法をもつが減法をもたない数学的構造には、可換半群、可換モノイド、半環 などが含まれる。リッチマンは 0.999… < 1 となるようにデザインされた、そのような2つの構造を考えた。 まず、リッチマンは負でない"十進数"を文字通り小数展開となるように定義する。彼は辞書式順序と加法を定義した。ここでは 0.999… < 1 であることに注意する。なぜなら単に、一の位において 0 < 1 となるからである。しかし、どんな「無限小数」x に対しても 0.999… + x = 1 + x である。だから、"十進数"に特徴的なこととして、一つは加法が必ずしも打ち消し合わないということであり、もう一つは 1/3 に対応する"十進数"は存在しないということである。乗法を定義すると、"十進数"は正値全順序可換半環をなす。 乗法を定義する際、リッチマンはまた、"cut D" と呼ばれる別の構造を定義する。これは小数の切断の集合である。通常この定義は実数を導くが、彼は小数 d に対して、切断 (−∞, d) と "principal cut" (−∞, d] の両方を許す。その結果、実数たちは小数と「不安定な状態で共存する (living uneasily together with)」ことになる。したがって、再び 0.999… < 1 を得る。"cut D" には正の無限小は存在しないが、"一種の負の無限小" 0− が存在する。0− には小数展開は存在しない。彼は 0.999… = 1 + 0− であると結論したが、一方、方程式 "0.999… + x = 1" は解をもたない。 1 − 0.999… は何になるかを尋ねると、しばしば "0.000…1" を浮かべられることがある。これに意味を持せることができるか否かは別として、0.999… の "最後の 9" に 1 を足すことで次々に繰り上がり、すべての 9 が 0 に変わって、一の位に 1 が残るという意図は直観的には明白である。この考えは、（他にも理由はあるが）0.999… には "最後の 9" がないので失当であるが、『最後の9』を持つ無限文字列を持つ体系というのは存在する。 p進数は整数論が研究対象とする数体系である。実数と全く同様に、p進数はコーシー列を経由して有理数の完備化として作ることができる。ただしこの構成には、0 は 1 よりも p に近く、pn にはもっと近いという、（実数の構成のときとは）異なる距離を用いる。p進数は p が素数のとき体をなし、p が素数でないとき（10 はこの場合である）でも環をなす。したがって、p進数に足し算や掛け算のような計算を実行することができ、無限小は存在しない。 p進数には小数展開の類似を考えることができ、位が左へ進む（実数の小数展開とは逆に、右へは有限桁しか進めない）。10進展開 …999 を考える。一の位に 1 を加えることができるが、すると 0 だけが残されて繰り上がりが続き、その結果 1 + …999 = …000 = 0 となる。すなわち、…999 = −1 である。もう一つの導出方法は等比級数を用いる。"…999" の意味をもつ等比級数は実数においては収束しないが、10進数では収束し、よく知られた公式を再び用いることができて ⋯ 999 = 9 + 9 ⋅ 10 + 9 ⋅ 10 2 + 9 ⋅ 10 3 + ⋯ = 9 1 − 10 = − 1 {\displaystyle \cdots 999=9+9\cdot 10+9\cdot 10^{2}+9\cdot 10^{3}+\dotsb ={\frac {9}{1-10}}=-1} となる（前述の等比級数と比較せよ）。3番目の導出方法はある中学1年生によって発明された。その生徒は教師が 0.999… = 1 を極限を用いて行った議論に疑いをもったが、上記の 10 を掛ける証明を反対の方向へ用いてみようとした。すると、x = …999 ならば 10x = …990 であるから、10x = x − 9 であり、再び x = −1 となる。 最後の拡張として、0.999… = 1（実数における等式）と …999 = −1（10進数における等式）であるから、「盲目的に記号を偽弄することを恥じなければ (by blind faith and unabashed juggling of symbols)」2つの等式の両辺を加えて …999.999… = 0 を得る。この等式はもはや 10-進数としても通常の小数展開としても意味をもたないが、よく知られた体系、すなわち実数を表現するために、左方への循環も許す「二重十進」(double-decimals) の理論を誰かが開発すれば、一転してこの等式も意味をもち正しくなる。 等式 0.999… = 1 の証明は直ちに2つの方法で一般化される。最初に、まさにその特別な場合において考えられたように、すべての 0 でない有限小数（すなわち、後に 0 が限りなく続く）は 9 が後ろにずっと続く別表現をもっている。例えば、0.24999… は 0.25 に等しい。 次に、0.999… = 1 に相当する結果を他の基数にも適用することができる。例えば 二進法では 0.111… = 1 であり、三進法では 0.222… = 1 である。一般に、基数を b とするとき、小数点以下には b − 1 が繰り返し並ぶ。実解析の教科書は 0.999… = 1 の例を飛ばして、これらの一般化のうちの一つか両方を最初から紹介する傾向がある。 1 の別表現は、非整数を基数としても現れる。例えば、黄金比を基数とすると、2つの標準的表示は 1.000… と 0.101010… であるが、他にも 0.11, 0.1011, 0.101011 のように隣接する "1" を含む無数の表現がある。一般的に、1 と 2 の間のほとんどすべての q に対し、"非可算無限" の 『1 の q進表現』が存在する。他方で、（1 より大きい自然数を含めた）なお"非可算無限"の q が 1 の q進表現を（自明な 1.000… を除いて）ただ一つしかもたない。この結果は1990年頃に ポール・エルデシュ (Paul Erdős)、ミクローシュ・ホルヴァート (Miklos Horváth)、イストヴァン・ヨー (István Joó) によって最初に述べられた。1998年に Vilmos Komornik とパオラ・ロレティ (Paola Loreti) はこのような最小の基数として q = 1.787231650… を決定した。この基数においては、1 = 0.11010011001011010010110011010011… であり、この数はトゥエ・モース列 (Thue-Morse sequence) を与える。これは循環しない。 さらに変則的な規則に基づく記数法 (the most general positional numeral systems) においても 0.999 = 1 に相当する結果が得られる。これらもまた多様な表現をもつので、ある意味で扱いはさらに困難である。例えば、 平衡三進法 (balanced ternary system) においては、1/2 = 0.111… = 1.111… 階乗進法 (factorial number system) においては、1 = 1.000… = 0.1234… マルコ・ペトカイゼク (Marko Petkovšek) は、そのように一つの数が複数の方法で表せるということは位取り記数法を用いることの必然的な結果であると述べ、すべての実数を扱う任意の位取り記数法において複数の表現をもつ実数の集合は常に稠密であることを証明した。彼はこの証明を「一般位相空間に関する初級の教育的な練習問題」と呼んだ。それは、位取り記数法の値の集合を Stone空間と見ること、その実数表現が連続関数によって与えられることに気づくことを、その証明が含んでいるからである。 1 の別表現としての 0.999… に関する一つの応用が初等整数論に見られる。1802年にグッドウィン (H. Goodwin) は、ある種の素数を分母とする分数では、循環小数表示したときに 9 が現れることを発表した。例えば、 1/7 = 0.142857142857…, 142 + 857 = 999 1/73 = 0.0136986301369863…, 0136 + 9863 = 9999 と書かれている。 ミディ (E. Midy) は1836年にこのような分数に関する一般的な結果を証明して、現在はミディの定理と呼ばれている。その論文は曖昧であり、彼の証明が直接 0.999… を含むかどうか定かではない。しかし、レーヴィット (W. G. Leavitt) による少なくとも一つの現代的な証明ではそれが含まれている。もし、0.b1b2b3… という形の小数が正の整数であることを証明できれば、それは 0.999… に他ならず、それがこの定理において 9 たちが出現する原因となる。この方向への研究は 最大公約数、剰余計算、フェルマー素数、群の元の位数、平方剰余の相互法則などの概念に動機付けを与える。 実解析では、三進法での類似表現 0.222… = 1 は最も単純なフラクタルの一つ、カントール三進集合 (the middle-thirds Cantor set) の特徴づけに重要な役割を果たしている。 単位区間 [0, 1] の点は、三進法で 0 と 2 のみを用いて表現される場合に限りカントール集合に属するという。 小数第 n 位の数字は、この構成における第 n 段階の点の位置に反映する。例えば、点 2/3 は通常の 0.2 または 0.2000… として表現される。なぜなら、それは最初の欠損部分の右側に位置し、それ以後のすべての欠損部分の左に位置するからである。また、点 1/3 は 0.1 ではなく 0.0222… として表現される。なぜなら、それは最初の欠損部分の左側に位置し、それ以後のすべての欠損部分の右側に位置するからである。 9 の繰り返しはカントールのもう一つの仕事にさえも現れる。彼が1891年に対角線論法を適用して単位区間 [0, 1] の非可算性の適切な証明を与えたことを考慮しなければならない。このような証明ではある2つの実数が小数表現において異なることを言明することが必要とされる。したがって、0.2 と 0.1999… のような組を避けなければならない。簡単な方法においては、すべての数を無限小数で表すが、それに対する方法では 9 が最後に連続することを排斥する。カントール独自の議論に近いといえる証明の変形では実際に2進表現を用いており、3進表現を2進表現に変えることによりカントール集合の非可算性を同様に証明することができる。 数学の初学者はしばしば 0.999… と 1 が等しいことを理解できない。極限の概念や無限小の性質が日常の感覚と大きく異なっていることがその理由とされる。その共通の要因として次のようなものがある。 生徒は「十進数では、一つの数はただ一通りの小数で表すことができるはずだ」と思い込んでいる場合が多い。表示が異なる2つの小数が等しいことが分かると、それが逆説であるように見える。見かけ上よく知られた数 1 の登場でその感がさらに強くなる。 "0.999…"（または同様の表現）を、多いけれども有限の個数の "9" の列（おそらく可変であり特定できない長さ）として解釈する生徒もいる。たとえ生徒が "9" の無限個の列であることを受け入れたとしても、まだ最後の "9" が「無限の彼方に」あると期待しているのかもしれない。 直観やあいまいな教え方により、生徒は数列の極限を、一つの決まった値ではなくある種の無限操作と考えるようになる。それは数列の各項はその極限に達する必要はないからである。生徒が数列とその極限の違いを受け入れても、彼らは "0.999…" を極限ではなく数列を意味するものと読む可能性がある。 これらの考えは、通常の実数を扱う文脈においては誤っている。しかしながら、通常と異なる場面で適用するために発明された、もしくは、0.999… を理解するのに有益な反例としての、より精巧な数の体系構造においては、それらの考えの多くが部分的に正しいことが示される。 これらの要因の多くはデイヴィッド・トール (David Tall) 教授により発見された。教授は、自らが遭遇した大学生の誤解のいくつかについて、それを生徒に抱かせる原因となった指導法と認識の特徴を研究している。非常に多くの生徒がなぜ最初はこの等式を受け入れないのかを調べるために生徒を面接して、次のようなことを発見した。 「生徒は 0.999… を、決まった値ではなく 1 に限りなく近づく数列として理解し続けようとする。その原因は『先生は小数点以下の桁数がいくつあるかをはっきりと教えていなかった』という指導法の欠陥、または『0.999… は 1 より小さい数の中で、存在しうる、1 に最も近い小数である』という認識である。」 初等的な証明の中で 0.333… = 1/3 の両辺を 3倍する方法は、0.999… = 1 であることを容認できない生徒に受け入れさせるための、最も有効な手段であるかのように見える。しかしながら、第1の等式を信じることと、第2の等式を信じないことの矛盾に直面すると、今度は第1の等式を疑い始める者も現れるし（後述も参照）、または単に不満を抱くだけの生徒もいる。これより簡潔で有効な説明方法もなかなかない。厳密な定義を十分適用する能力のある生徒が、0.999… を含めてさらに進んだ数学の結果に驚いたとしても、なお直観的な想像に頼ってしまうことがある。例えば、ある解析学を学ぶ生徒は 0.333… = 1/3 であることを上限の定義を用いて証明することができるが、その後もなお、昔の筆算の理解に基づいて 0.999… < 1 であると主張した。別の生徒は、1/3 = 0.333… であることを証明することができるが、分数による証明に直面して「論理」が数学の計算を征服していると主張する。 ジョセフ・メイザー (Joseph Mazur) は別の才能豊かな微積分学の生徒について語る。その生徒は「私が授業で言ったことにはほとんどすべて異議を唱えるが、自分の使っている計算機には決して異議を唱えない」。さらに、23 の平方根を計算することも含めて、数学をするのに必要なのは 9桁（程度）だと信じるようになった。その生徒は 9.999… = 10 であるという極限の議論に相変わらず不愉快な感じを抱いていたが、それは「乱暴な推測をする、無限概念の成長過程 (wildly imagined infinite growing process)」と呼ばれる。 エド・デュビンスキー (Ed Dubinsky) による数学学習の理論 (APOS theory) の一部分として、デュビンスキーとその共同研究者 (2005) は、0.999… を「1 から無限に小さい距離だけ離れている数を表す有限で不確定の文字列」であると思う生徒は「無限小数の構成過程の完全な概念がまだ形成されていない」と述べた。たとえ 0.999… の構成過程の完全な概念を身につけた生徒であっても、まだその過程を（すでに持っている "1" の概念と同様の）一つの「対象」としてとらえ直すことができずに、0.999… という一つの過程と 1 という数の存在を矛盾するものととらえるかもしれない。デュビンスキーらはまた、「一つの対象としてとらえ直す」というこの精神的能力が、1/3 それ自体を数と見なしたり、自然数の集合それ自身を一つの対象として取り扱ったりすることと関係していると考えている。 インターネットの登場に伴い、0.999… = 1 に関する論争は教育現場だけでなく、ニュースグループや電子掲示板など、普段はあまり数学に関係のない場所でも話題となることがある。ニュースグループ sci.math では、0.999… に関する議論は「流行のスポーツ」であり、それは FAQ で回答された問題の一つである。その FAQ は 1/3 を用いる方法、10倍する方法、極限を用いる方法を簡潔に扱い、さらには同様にコーシー列にも言及している。 アメリカの新聞 Chicago Reader のコラム The Straight Dope の2003年版では、誤った概念に関して言及しつつ、1/3 や極限を通して 0.999… について次のように議論している。 「我々の中の類人猿的要素が、『0.999… は実際に数 を表しているのではなく、過程 を表している。一つの数を見つけるために我々はその過程を途中で断ち切らなければならない。その時点において 0.999… = 1 という概念は崩壊する。』と言って依然として抵抗している。 ナンセンスだ！」 The Straight Dope は「他の掲示板…ほとんどがビデオゲーム」から独立した専用の掲示板で議論を載せている。同様の調子で、0.999… の問題は、アメリカのゲーム開発会社ブリザード・エンターテイメントの Battle.net フォーラムで最初の7年間にとても一般的な話題であることが分かったため、社長の Mike Morhaime は2004年4月1日の記者会見で 0.999… = 1 であると発表した。 「我々はこの問題に対しきっぱりと決着をつけることに大変興奮しています。我々は 0.999… が 1 に等しいのか等しくないのかについての、心痛や心配に立ち会ってきました。ここに次の証明を提示し、我々の顧客に対して、最終的に断固としてこの問題に対処できることを嬉しく思います。」 続くプレスリリースで、極限に基づくものと 10 を掛けるものの2つの証明を提供している。 ゼノンのパラドックス、とりわけアキレウスと亀のパラドックスは、見かけ上のパラドックス 0.999… = 1 を連想させる。アキレウスのパラドックスは数学的にモデル化され、0.999… と同じように等比数列を用いて解決される。しかしながら、この数学的な取り扱いがゼノンが探求していた潜在的な形而上の問題に対処しているかどうかは明らかでない。ただし、無限和の値（ここでは有限小数の無限和としての無限小数）は、部分和の極限（限りなく近づいていくが、決して到達しない点）によって定義されているので、この方法では、パラドックスを解決したことにはならない、という論議がある（総和、循環小数、循環論法を参照）。この点に留意すれば、0.999… = 1 であると言う帰結は、極限によって無限小数の値を定義した結果であり、必ずしも自明なことではない（その意味では前述の「第1の等式を信じることと、第2の等式を信じないことの矛盾に直面すると、今度は第1の等式を疑い始める」という態度は、一定の数学的なセンスのある姿勢だと見ることもできる）。そもそも無限に存在する値を全て足し合わせることができるのか、と言う問いは未解決であり（現代数学では定義として処理されている。公理的集合論を参照）、0.999… = 1 やゼノンのパラドックスと言った話題がそのことを想起させてくれる恰好の題材であることは確かであろう。 0 による除算は 0.999… のいくつかの一般的な議論に見られるが、それもまた論争を引き起こす。多くの著者が 0.999… を定義することを選択する一方で、実数の現代的な取り扱いでは 0 による除算は定義されない。というのは、それが通常の実数の範囲では意味を与えられないからである。しかしながら、0 による除算は複素解析など他の体系では定義されている。複素解析では、拡張された複素平面（リーマン球面）は無限遠点をもつ。ここで、1/0 を無限大であると定義することには意味がある。また、実際その結果は奥深く、工学や物理学にも応用できる。何人かの著名な数学者は、どの数体系も発達するずっと前からそのような定義を論じていた。 冗長な数表記の類例として負の 0 が挙げられる。実数などの数体系においては、"0" は加法に関する単位元を意味し、正の数でも負の数でもない。通常 "−0" は加法に関する 0 の逆元を表すと解釈されるため、−0 = 0 でなければならない。それにもかかわらず、いくつかの科学的な応用では、正と負の 0 を分けて用いる。これはいくつかのコンピュータの数体系（例えば符号付数値表現、1 の補数表現、IEEE 754 で定義されたような浮動小数点表示）でもそうである。IEEE の浮動小数点数の場合は、負の 0 は、与えられた正確な数値を表すには（絶対値が）小さすぎるが、それでもなお負の数である値を表している。したがって、IEEE 浮動点数表示における「負の 0」は本来の意味で"負の 0" ではない。