Although some people find it counterintuitive, the decimal expansions 0.999… 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+…=−1. They work in this case because the [-series] corresponding to 0.999… is [-absolutely_convergent].
x=0.999…10x=9.999…10x−x=9.999…−0.999…9x=9x=1
19=0.111…1=99=9×19=9×0.111…=0.999…
The real numbers are [-dense], which means that if 0.999⋯≠1, there must be some number in between. But there's no decimal expansion that could represent a number in between 0.999… and 1.
Formal proof
This is a more formal version of the first informal proof, using the definition of Decimal notation.
%%hidden(Show proof): 0.999… is the decimal expansion where every digit after the decimal point is a 9. By definition, it is the value of the series ∑∞k=19⋅10−k. This value is in turn defined as the [-limit] of the sequence (∑nk=19⋅10−k)n∈N. Let an denote the nth term of this sequence. I claim the limit is 1. To prove this, we have to show that for any ε>0, there is some N∈N such that for every n>N, |1−an|<ε.
Let's prove by induction that 1−an=10−n. Since a0 is the sum of {0 terms, a0=0, so 1−a0=1=100. If 1−ai=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−an=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. %%
Arguments against 0.999…=1
These arguments are used to try to refute the claim that 0.999…=1. They're flawed, since they claim to prove a false conclusion.
- 0.999… and 1 have different digits, so they can't be the same. In particular, 0.999… starts "0.," so it must be less than 1.
%%hidden(Why is this wrong?): 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…=0.000…001≠0.
%%hidden(Why is this wrong?): Decimal expansions go on infinitely, but no farther. 0.000…001 doesn't represent a real number because the 1 is supposed to be after infinitely many 0s, 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…001 to represent, it would be 0. %%
- 0.999… is the limit of the sequence 0.9,0.99,0.999,…. 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.")
%%hidden(Why is this wrong?): 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… from 9.999…, you don't get 9. There's an extra digit left over; just as 9.99−0.999=8.991, 9.999…−0.999…=8.999…991.
%%hidden(Why is this wrong?): There are infinitely many 9s in 0.999…, so when you shift it over a digit there are still the same amount. And the "decimal expansion" 8.999…991 doesn't make sense, because it has infinitely many digits and then a 1. %%
Comments
Eric Rogstad
If these are included I think it would be good to also include explanations of why each one is wrong.