Although some people find it counterintuitive, the decimal expansions \(0.999\dotsc\) and \(1\) represent the same real number.

Informal proofs

These “proofs” can help give insight, but be careful; a similar technique can “prove” that \(1+2+4+8+\dotsc=-1\). They work in this case because the series corresponding to \(0.999\dotsc\) is absolutely convergent.

  • \begin{align} x &= 0.999\dotsc \newline 10x &= 9.999\dotsc \newline 10x-x &= 9.999\dotsc-0.999\dotsc \newline 9x &= 9 \newline x &= 1 \newline \end{align}

  • \begin{align} \frac 1 9 &= 0.111\dotsc \newline 1 &= \frac 9 9 \newline &= 9 \times \frac 1 9 \newline &= 9 \times 0.111\dotsc \newline &= 0.999\dotsc \end{align}

  • The real numbers are dense, which means that if \(0.999\dots\neq1\), there must be some number in between. But there’s no decimal expansion that could represent a number in between \(0.999\dots\) and \(1\).

Formal proof

This is a more formal version of the first informal proof, using the definition of decimal notation.

\(0.999\dots\) is the decimal expansion where every digit after the decimal point is a \(9\). By definition, it is the value of the series \(\sum_{k=1}^\infty 9 \cdot 10^{-k}\). This value is in turn defined as the limit of the sequence \((\sum_{k=1}^n 9 \cdot 10^{-k})_{n\in\mathbb N}\). Let \(a_n\) denote the \(n\)th term of this sequence. I claim the limit is \(1\). To prove this, we have to show that for any \(\varepsilon>0\), there is some \(N\in\mathbb N\) such that for every \(n>N\), \(|1-a_n|<varepsilon\).

Let’s prove by induction that \(1-a_n=10^{-n}\). Since \(a_0\) is the sum of {$0$ terms, \(a_0=0\), so \(1-a_0=1=10^0\). If \(1-a_i=10^{-i}\), then

\begin{align} 1 - a{i+1} &= 1 - (ai + 9 \cdot 10^{-(i+1)}) \newline &= 1-a_i − 9 \cdot 10^{-(i+1)} \newline &= 10^{-i} − 9 \cdot 10^{-(i+1)} \newline &= 10 \cdot 10^{-(i+1)} − 9 \cdot 10^{-(i+1)} \newline &= 10^{-(i+1)} \end{align}

So \(1-a_n=10^{-n}\) for all \(n\). What remains to be shown is that \(10^{-n}\) eventually gets (and stays) arbitrarily small; this is true by the archimedean property and because \(10^{-n}\) is monotonically decreasing. <div><div>

Arguments against \(0.999\dotsc=1\)

These arguments are used to try to refute the claim that \(0.999\dotsc=1\). They’re flawed, since they claim to prove a false conclusion.

  • \(0.999\dotsc\) and \(1\) have different digits, so they can’t be the same. In particular, \(0.999\dotsc\) starts “$0.$,” so it must be less than 1.

Decimal expansions and real numbers are different objects. Decimal expansions are a nice way to represent real numbers, but there’s no reason different decimal expansions have to represent different real numbers.

  • If two numbers are the same, their difference must be \(0\). But \(1-0.999\dotsc=0.000\dotsc001\neq0\).

Decimal expansions go on infinitely, but no farther.\(0.000\dotsc001\) doesn’t represent a real number because the \(1\) is supposed to be after infinitely many \(0\)s, but each digit has to be a finite distance from the decimal point. If you have to pick a real number to for \(0.000\dotsc001\) to represent, it would be \(0\).

  • \(0.999\dotsc\) is the limit of the sequence \(0.9, 0.99, 0.999, \dotsc\). Since each term in this sequence is less than \(1\), the limit must also be less than \(1\). (Or “the sequence can never reach \(1\).”)

The sequence gets arbitrarily close to \(1\), so its limit is \(1\). It doesn’t matter that all of the terms are less than \(1\).

  • In the first proof, when you subtract \(0.999\dotsc\) from \(9.999\dotsc\), you don’t get \(9\). There’s an extra digit left over; just as \(9.99-0.999=8.991\), \(9.999\dotsc-0.999\dotsc=8.999\dotsc991\).

There are infinitely many \(9\)s in \(0.999\dotsc\), so when you shift it over a digit there are still the same amount. And the “decimal expansion” \(8.999\dotsc991\) doesn’t make sense, because it has infinitely many digits and then a \(1\).