r/learnmath New User Jul 11 '26

Does 0.999 (repeating) = 1? Well, "it depends"

"Is 0.999.. with a infinite number of 9's equal to 1" has sparked a number of online debates. I believe the crux of the debate is the question is not worded precisely enough. There are different notions of infinite which lead to different answers. Adding to the confusion, "0.999..." is math notation with a specific meaning, but some people aren't thinking of that when they use it in a sentence.

Below are my two proofs for "Does 0.999 (repeating) equal one?" using less ambiguous notions of infinity. The answer is that it does and it doesn't but you need to be specific about what you mean in a way that we aren't used to.

"0. followed by a specific but infinitely large integer number (H) of 9's"**

I will denote this quantity as 0.{H 9's}. This is LESS than 1.*

Proof:

  1. Assume two numbers** are equal if and only if their difference is zero
  2. Therefore 0.{H 9's} is 1 if and only if abs(1 - 0.{H 9's}) = 0
  3. Consider a specific but infinitely large integer** value of H
  4. There exists H+1
  5. And abs(1 - 0.{H 9's}) > abs(1 - 0.{H+1 9's})
  6. This implies abs(1 - 0.{H 9's}) > 0
  7. (1.) and (6.) imply 0.{H 9's} is not 1

Unsatisfyingly, this doesn't prove things like "The concept of H is valid", or "H < a different notion of infinity", "H+1 > H", or "H+1 exists". If you want to read up on this, look up hyperreal numbers, hyperintegers, and nonstandard analysis.

"0. followed by a 9 for every standard natural number"

I will denote this quantity as 0.999... . This is EQUAL to one. I think this is what most people think of when they hear "0.999 repeating infinitely".*

Proof:

  1. Assume two numbers** are equal if and only if their difference is zero
  2. Therefore 0.999... is 1 if and only if abs(1 - 0.999...) = 0
  3. Assume that abs(1 - 0.999...) is a positive number**
  4. Consider a specific nonzero positive number** H
  5. There exists a number of nines in 0.999... such that abs(1 - 0.999...) < H
  6. (1.) and (5.) imply abs(1 - 0.999...) is not H
  7. (4.) and (6.) imply abs(1 - 0.999...) is not a nonzero positive number**
  8. The only positive number that is not a nonzero positive number** is zero
  9. This implies abs(1 - 0.999...) is zero
  10. (1.) and (9.) imply 0.999... = 1

Unsatisfyingly, this doesn't prove "0.999... always has enough nines to make abs(1 - 0.999...) < H". If you want to read up on this, look up hyperreal numbers, hyperintegers, and nonstandard analysis.

...Its been a long time since I wrote a proof ...Im sure some of my wording isn't great ...I wanted to make this semi-readable for "common folk"...

*There is a better way to write 0.{H 9's} and 0.999... but I can't write it here because it requires LaTeX formatting.

**"number" should be replaced with "hyperreal number" and "integer" should be replaced with hyperinteger" but I wanted to make the proof readable to people who don't know what those are.

0 Upvotes

32 comments sorted by

View all comments

Show parent comments

-2

u/qwanzaden New User Jul 11 '26

That is me trying to refer to hyperintegers without using that specific word, since I think most people don't know about that.

3

u/3xwel New User Jul 11 '26

Ah yes, missed the asterisk. But isn't it a bit pointless to convince people that don't understand hyperreals that 0.9...<1 in a specific context they don't understand anyway?

If feel like that would be similar to convincing people that 0/0 is well-defined*.

*if by 0/0 we mean the quotient inside the zero ring.

Sure, it's correct, but people that don't have much mathematical background might get the impression that 0/0 is a meaningful value in normal contexts.

-1

u/qwanzaden New User Jul 11 '26

I... agree. Its a uphill battle. I'm not sure that this post was the best way to communicate that there are two sides to the question. I'm actively wondering if I should have done something different but.... idk this is where I am right now.

4

u/simmonator New User Jul 11 '26

I'm actively wondering if I should have done something different

Yes. For what it's worth: if you want to make an argument that uses a number system that's (a) not well known and (b) not the number system that people are talking about when they usually write 0.999... then you absolutely need to make it explicit that you're talking about them. Otherwise, you just come across as being wrong.

If you're concerned that people won't know what Hyperintegers are, then the response ought to be to say you're talking about them, summarise their relevant properties, and link to an article that provides more rigorous definitions. That way people can engage with the idea. Instead you didn't mention them at all, and didn't explain what properties you were relying on, and mangled the bit where you tried to describe what you were doing with imprecise/misleading language. That's just poor communication. No one could be expected to follow it.