0.999…

在數學的完備實數系中，循環小數0.999…，也可寫成、或，表示一個等於1的實數，即「0.999…」所表示的數與「1」相同。目前該等式已經有各式各樣的證明式；它們各有不同的嚴謹性、背景假設，且都蘊含實數的實質條件，即阿基米德公理、歷史文脈、以及目標受眾。
這類展開式的非唯一性不僅限於十進位系統，相同的現象也出現在其它的整數進位制中，數學家們也列舉出了一些1在非整數進位制中的寫法，這種現象也不是僅僅限於1的：對於每一個非零的有限小數，都存在另一種含有無窮多個9的寫法，由於簡便的原因，我們幾乎肯定使用有限小數的寫法，這樣就更加使人們誤以為沒有其它寫法了，實際上，一旦我們允許使用無限小數，那麼在所有的進位制中都有無窮多種替代的寫法，例如，18.3287與18.3286999…、18.3287000…，以及許多其它的寫法，都表示相同的數，這些各種各樣的等式被用來更好地理解分數的小數展開式的規律，以及一個簡單碎形圖形──康托爾集合的結構，它們也出現在一個對整個實數的無窮集合的古典研究之中。
在過去數十年裡，許多數學教育的研究人員研究了大眾及學生們對該等式的接受程度，許多學生在學習開始時懷疑或拒絕該等式，而後許多學生被老師、教科書和如下章節的算術推論說服接受兩者是相等的，儘管如此，許多人們仍常感到懷疑，而提出進一步的辯解，這經常是由於存在不少對數學實數錯誤的觀念等的背後因素（參見以下教育中遇到的懷疑一章節），例如認為每一個實數都有唯一的一個小數展開式，以及認為無限小（無窮小）不等於0，並且將0.999…視為一個不定值，即該值只是一直不斷無限的微微擴張變大，因此與1的差永遠是無限小而不是零，因此「永遠都差一點」。我們可以構造出符合這些直觀的數系，但是只能在用於初等數學或多數更高等數學中的標準實數系統之外進行，的確，某些設計含有「恰恰小於1」的數，不過，這些數一般與0.999…無關（因為與之相關的理論上和實踐上都皆無實質用途），但在數學分析中引起了相當大的關注。

簡介

0.999…是書寫於小數記數系統中的一個數，讀作：「零點九九循環」。一些最簡單的0.999… = 1的證明都依賴於這個系統方便的算術性質。大多數的小數算術──加法、減法、乘法、除法，以及大小的比較，使用與整數差不多的數位層次的操作。與整數一樣，任何兩個有限小數只要數位不同，那麼數值也一定不同。特別地，任何一個形如0.99…9的數，只要只得有限個9，這些9最終會停止，則該數都是嚴格小於1的。
誤解0.999…中的「…」（省略號）的意義，是誤解0.9999… = 1的其中一個原因。這裡省略號的用法與日常語言和0.99…9中的用法是不同的，0.99…9中的省略號意味著有限的部分被省略掉了。但是，當用來表示一個循環小數的時候，「…」則意味著無限的部分被省略掉了，這只能用極限的數學概念來闡釋。作為使用傳統數學的結果，指派給記數表示式「0.999…」的值定義為一個實數，該實數為收斂數列（0.9，0.99，0.999，0.9999，0.99999，…）的極限。「0.999…」是一個數列的極限，從而，對於0.999…=1這個等式就很直觀了。
與整數和有限小數的情況不一樣，其實記數法也可以多種方式表示單一個數值。例如，如果使用分數，。但是，一個數最多只能用兩種無限小數的方法來表示。如果有兩種方法，那麼其中一種一定從某一位開始全是循環重複的9，而另外一種則一定從某一位開始就全是循環重複的零。
0.999… = 1 有許多證明，它們各有不同的嚴謹性。一個嚴謹的證明可以簡單地說明如下。考慮到兩個實數其實是同一個的，若且唯若它們的差等於零。大部分人都同意，0.999…與 1 的差，就算存在也是非常的小(實際上根本不存在，即差等於0)。考慮到以上的收斂數列，我們可以證明這個差的大小一定是小於任何一個正數的，也可以證明（詳細內容參見阿基米德性質），唯一具有這個性質的實數是零。由於差是零，可知 1 和 0.999…是同一數，用相同的理由，也可以解釋為什麼「」；而該等式乘上3倍後成為「0.999… = 1」。

對位相減

在不考慮柯西序列的情況下：
1.00000…
−　0.99999…
0.00000…
結果為0.000…，也就是後面的0無限循環。這兩個數目在這裡是無限循環小數，小數點後五位之後還會一直填上0，始終無法找到最後一位來填上1，因為如果補上1就會成為有限小數。1.000… - 0.999… = 0.000… = 0，故1 = 0.999…。
這假設了0.999…沒有「最後的9」、這些無限循環小數的小數點後的位數為可列的（可以由第一個數位一個位一個位數下去而於有限次數到任一個數位）（這已得出0.999…沒有「最後的9」）、1.000… - 0.999…的結果存在小數表示式。運算結果將沒有「最後的1」，所以1與0.999…沒有差值。

從建構實數著手

有些方法用公理集合論明確把實數定義為一定的建立在有理數上的結構。自然數──0、1、2、3，依此類推──從零開始並繼續增加，這樣每一個自然數都有一個後繼者。我們可以把自然數的概念延伸到負數，得出所有的整數，並可以進一步延伸到比例，得出所有的有理數。這些數系伴隨著加法、減法、乘法和除法的算術。更加微妙地，它們還包括排序，這樣一個數就可以與另一個進行比較，並發現是大於、小於，還是等於。
從有理數到實數的一步，是一個很大的延伸。至少有兩種常見的方法來達到這一步，它們都在1872年出版：戴德金分割，以及柯西序列。直接用到這些結構的0.999… = 1的證明，現在已經無法在實分析的教科書中找到了；最近幾個年代的趨勢，是使用公理化的分析。即使提供了這樣的一個結構，它也通常被用來證明實數的公理，從而為以上的證明提供證據。然而，有些作者表達了從一個結構開始才是邏輯上更恰當的想法，這樣得出的證明就更加完備了。

戴德金分割

在戴德金分割的方法中，每一個實數x定義為所有小於x的有理數所組成的無窮集合。比如說，實數1就是所有小於1的有理數的集合。每一個正的小數展開式很容易決定了一個戴德金分割：小於某個展開階段的有理數的集合。所以實數0.999…是有理數r的集合，使得r < 0，或r < 0.9，或r < 0.99，或r小於其它具有  形式的數。0.999…的每一個元素都小於1，因此它是實數1的一個元素。反過來，1的一個元素是有理數
，也就是。由於0.999…和1包含相同的有理數，因此它們是相同的集合：0.999… = 1。
把實數定義為戴德金分割，首先由理察·戴德金在1872年出版。
以上把每一個小數展開式分配一個實數的方法，應歸於弗雷德·里奇曼在《Mathematics Magazine》（《數學雜誌》）上發表的一篇名為「Is 0.999… = 1?」（「0.999… = 1嗎？」）的演講稿，主要是為大學的數學教師，尤其是初級／高級程度，以及他們的學生而作。里奇曼注意到，在有理數的任何一個稠密子集中取戴德金分割，都得到相同的結果；特別地，他用到了十進分數（分母為10的冪的分數），這樣便更快得出證明了：「所以，我們看到，在實數的傳統定義中，方程 0.9* = 1 在一開始就建立了。」把這個步驟再作進一步的修改，便得到了另外一個結構，里奇曼對描述這個結構更感興趣；參見以下的「其它數系」。

打破減法的慣例

另外一種也可以使以上證明不成立的方法，就是1 − 0.999…根本就不存在，因為減法並不一定就是可能的。具有加法運算但沒有減法運算的數學結構包括可交換半群、可交換么半群，以及半環。里奇曼考慮了兩種這類的系統，使得0.999…< 1。
首先，里奇曼把非負的「小數」定義為字面上的小數展開式。他定義了字典序和一種加法運算，注意到0.999… < 1僅僅因為在個位數0 < 1，但對於任何一個有限小數x，都有0.999… + x = 1 + x。所以「小數」的一個獨特之處，是等式兩邊不能同減一個數；另外一個獨特之處，就是沒有「小數」對應著¹⁄₃。把乘法也定義了以後，「小數」便形成了一個正的、全序的、可交換的半環。
在定義乘法的過程中，里奇曼還定義了另外一種系統，他稱之為「分割D」，它是小數的戴德金分割的集合。通常用這種定義便可以得出實數，但對於小數d他既允許分割（−∞， d ），又允許「主分割」（−∞， d ]。這樣做的結果，就是實數與「小數」「不舒服地住在一起」。這個系統中也有0.999… < 1。在分割D中不存在正的無窮小，但存在一種「負的無窮小」──0⁻，它沒有小數展開式。里奇曼得出結論，0.999… = 1 + 0⁻，而方程「0.999… + x = 1」則沒有解。