Now get ready to get math blasted.
First, a couple of clarifications, because it seems many people get confused by these:
1) Those dots mean the 9’s repeat forever. Infinity is not a big number! In fact, it’s infinitely bigger than any big number you can think of. There is no "last 9" in 0.999.... So while it’s true that 0.9999(20 million more 9’s)999 =/= 1, that’s not what we’re talking about here.
2) When I say 0.999…=1, I don’t mean that they’re so close that they’re virtually the same thing, or that they’re closer than the Planck length and indistinguishable, or anything like that. There is no regard to our physical universe here, we’re talking about is a precise mathematical equality: 0.999… and 1 are the same number.
Now, whenever I see flame wars on this topic, there’s always a bunch of people posting the proof:
⅓=0.333… so
1=3*(⅓)=3*(0.333…)=0.999…
However, I think this is very unsatisfying. First, it relies on us being sure that ⅓=0.333…, which is something that most people have never seen a proof of, they just take it on faith. Secondly, how do I know that 3*(0.333…)=0.999…? Sure, if the 3’s terminated at some point we could just multiply them according to the rules of multiplication we know and hate, but infinity does weird stuff to things we’re used to. For instance, use a computer to add the first couple hundred terms of the infinite sum
1-(1/2)+(1/3)-(1/4)+(1/5)-(1/6)+(1/7)-...
and you’ll see it zeroes in a value of about 0.69 (tee hee). But now, consider the infinite sum
1+(1/3)-(1/2)+(1/5)+(1/7)-(1/4)+(1/9)+(1/11)-(1/6)+...
This sum has all the same terms as the first one, just in a different order. However, if you again use a computer to sum the first couple hundred terms, you’ll see that it zeroes in on a different value around 1.03 (Example shamelessly stolen from Stephen Abbot’s Understanding Analysis). So although we can swap members of finite sums (a+b=b+a), we don’t necessarily have the same luxury with infinite sums. For all we know, the same is true for distributing multiplication through infinite sums, which means I now have to go through a shitload of work to justify the manipulation 3*(0.333…)=0.999…
So, although this proof turns out to be correct, it relies on a bunch of stuff that is in itself not trivial to prove. It’s exactly like the analogy at the end of this sentence: self-referential and leaving you more confused than you were before, unless you’re the one asshole who already knew what he was talking about. So, I’m gonna take a different approach and focus less on proofs and more on the root of the issue that I think is rarely explained and often misunderstood: what a real number is.
What is a real number then?
I’m gonna preface this next section by saying: the fact that 0.999... =1 isn’t really under debate, as long as you agree on what 0.999… means. I think that when lay-people hear a mathematician say something like “the set of even numbers and the set of all rational numbers have the same size,” their biggest problem in accepting that statement is that size is a vague term and mathematicians are weird, so when they say size it means something different than it does to your average joe*. It’s kind of like when people online have arguments about Socialism when one of them defines socialism to be like Norway’s economic system and the other defines it to be like North Korea’s. We can’t have meaningful discourse unless we agree on what we’re talking about, so let’s really unpack what a mathematician means when she says 0.999…=1.
footnote
So just what the hell are the real numbers anyway? Well, this is delving into philosophy, but one somewhat unsatisfying answer is that they’re a set that satisfies certain conditions mathematicians have agreed on. These conditions are that the set be a complete, ordered field. Let’s unpack that and give some justification for why we include each part in the definition:
Field: A field is a set that basically has analogues of addition, subtraction, multiplication, and (non-zero) division defined on it. These analogues work how we’re used to, ie a+b=b+a (addition commutes), a*1 = a (there is a multiplicative identity), and a*(b+c)=ab+ac (multiplication distributes over addition), for instance (see this link for a complete list). I think it’s pretty obvious why these axioms are important for the real numbers to have; they basically tell us that arithmetic works the way we’re used to.
Ordered: An ordered field is a field that has a total order on it, which is just an general analog of saying "_ is greater than _". This allows us to, well, order all of the elements, like we do with the number line. In addition, this order has to play nice with the field axioms from before so that the product of two positive numbers is positive, and so that if I have three real numbers a, b, and c such that a<b, then a+c<b+c as well (so if I slide both a and b the same distance along the number line, a should still be to the left of b). These axioms are crucial for our visualization of the real numbers as a line, as they allow us to line up the numbers in a simple, consistent way.
Complete A complete, ordered set basically has no holes in it (see this link for a more precise definition). Completeness is very important in calculus because it basically assures us that the number line is a rigid thing. Without it, I would be able to come up with weird functions the have graphs with all sorts of jagged steps that I could still call continuous. In addition, completeness guarantees that if an infinite sequence clusters arbitrarily close to a particular spot, that spot will be a real number. In fancy mathspeak, completeness is responsible for the closure of the limiting operation on Cauchy sequences. This is incredibly useful for the definition of what an infinite decimal expansion really is, as we will see shortly.
With that, I hope you’re slightly clearer on what a real number truly is. The incredible thing about that definition is that any set that satisfies it is exactly the same, in the sense that if we relabel everything the right way, it works exactly like ours*. So, if aliens come up with a number system with axioms equivalent to the ones I listed, then all the theorems they discovered would be valid for our system, as long as we translated everything correctly.
footnote
So why does 0.999...=1?
With that out of the way, 0.999… (and decimal expansions in general) are really defining particular infinite sums. In particular, 0.999… is really defined to mean
0.999… = 9*10-1 + 9*10-2 + 9*10-3 + …
Where the infinite sum really means that we look at what happens to the values of the finite length sums as we tack on more and more terms. Hopefully, this makes 0.999…=1 easier to swallow, because what we’re saying is that 0.999… and 1.000… are just representations of numbers, and there’s nothing too crazy about saying that a number can have two different representations (think ½ and 2/4). Now, from here you could actually directly prove 0.999... =1 using the formula for sums of infinite series, but that gets a little more technical than I’d like. So instead, I’m gonna go with a more hand wavy but more illuminating approach.
This argument is completely correct, but there are a few steps that I’m going to leave out because the proofs are tedious and the results are fairly intuitive. I’ll mark them and leave links in a spoiler tag though. So, to finally show the thing I started talking about 1500 words ago:
Consider the difference 1-0.999… = e.
It should be pretty intuitive that 0.999… must be less than or equal to one(1). So, let’s see what would happen if 0.999… wasn’t equal to one. This would force our e to be greater than 0. But it should also seem clear that there is no number closer to 1 than 0.999… since it has a 9 in every decimal place, and we can write every real number as some decimal expansion(2). Likewise, this would force our e to be the smallest positive real number, since if e’ were a smaller positive number, 1-e’ would be closer to 1 than 0.999…
So, if we say 0.999…=/=1, we conclude that there is a smallest positive real number. But this directly contradicts our real number axioms, from which we can prove that(3) if a>0, 0<a*(½)<a, so e*(½) would have to be a smaller positive number than e, which we said was the smallest positive real number. So we can conclude that 0.999… can’t be less than 1, forcing it to be equal to 1. Exactly one.
Elabration on marked parts
Now, we could always change our real number axioms to get rid of this contradiction and allow 0.999… =/= 1. For instance, we could nix the requirement that a*b is a real number for any two real numbers (one of our field axioms), which means e*(½) would no longer be required to be defined, and we wouldn’t have a problem. But this would screw up a bunch of other stuff and basically would make our real numbers look more like a bunch of isolated points than like a continuous line. In addition, it would probably cause a bunch of contradictions unless you also altered other axioms. Overall, trying to alter the axioms to let 0.999…=/=1 would amount to destroying most nice properties of the real numbers as we know them in order to get rid of something that doesn’t do much more harm than confusing you when you see it. It’s like nuking the Earth because you didn’t like a David Lynch Film.
So hopefully someone actually managed to get all the way through that and find it useful. If you have any questions about this let 'em rip. Questions about math and science in general are also welcome.