Hacker News new | ask | show | jobs
by fouronnes3 386 days ago
To me the most obvious proof is that therere are no numbers in between 0.999... and 1. Therefore it must be the same number.
3 comments

The fact that there are no numbers in between is not obvious at all, and has to be proven formally!

In fact, there is a (rational) number between any two distinct real numbers, therefore your proof attempt only works if you assume that 0.999 equals 1. As that is a circular reasoning, it is not a valid proof.

> your proof attempt only works if you assume that 0.999 equals 1. As that is a circular reasoning, it is not a valid proof.

No, his proof is fine. Take the standard definition of > as applied to decimal numbers when they're represented as strings. It's very easy to show that no x simultaneously satisfies x > 0.9999... and 1.0000... > x.

You are right, that works if you assume that every number can be represented as a decimal string.

That is indeed true for real numbers, but not for hyper-reals (https://en.m.wikipedia.org/wiki/Hyperreal_number), which is what I had in mind when I originally said that it was not obvious.

Well, for hyperreal numbers it's still true that every real number can be represented as a countably infinite string. The proof will still work fine if you say "the real number with expansion 0.9999...". In the hyperreals, given that not every value can be expressed as a decimal string, we'd need to establish what "0.9999..." meant before further commenting on the proof.

---

lcamtuf proposes treating 0.9999... as a representation of a hyperreal number in the halo of 1, which raises some notational questions. The logical extension of the notation in my mind would, given an assumed infinitesimal value epsilon, represent epsilon as 0.000000... -| (barrier between real and infinitesimal decimal places) |- ...00001 . It's not obvious to me how you'd work with the representation 0.000000... | 1000... (what's 1 + 20ε?).

But I don't think my instinct works either, because you can grade the levels of infiniteness more finely than you have room in a countable string to represent. (This is just a gut feeling.)

Going with a more formal definition, you could take the new decimal places as representing coefficients of 10^{-N}, where N is an infinite hypernatural number, but since those have no beginning or end it's not at all clear where you'd position the coefficients.

On the other hand, I don't really see the conceptual problem with treating 0.9999... as a value that is infinitely close to 1. What bothers me the most at that level is the comment somewhere in the thread asking, given the established infinitesimal difference between 0.99999... and 9/9, what's the difference between 0.33333... and 3/9? lcamtuf's derivation works the same way, suggesting that a difference exists. And you can say that it does; you could just declare that rational numbers with prime factors other than 2 and 5 in the denominator have no exact representation in the decimal system.

But there's no demand for this. People don't seem to have the same problem with the idea that 0.33333... is 1/3 as they do with the idea that 0.99999... is 3/3.

I usually use this idea to show that 0.999 is not less than 1 (or more simply, there is no nonzero number you can add to 0.999 to make it 1), then because it’s not greater than 1, and there are only three possibilities (>,<,=) they must be equal.
Exactly, add them up and divide by 2. What's the answer?
TFA goes into this somehow but I fail to see why it's so hard to grasp that they are the same. Maybe I should read more crackpot blogs!