Why aren't all real numbers equal to one another? I know, stupid question. But humor me for a sec. First off, we know that all real numbers have two numbers which are infinitely close to them, right? 
That would seem to be, for any given value of x,

x ± y

where 

y = .000...1

But here's the thing: 

y + .999... = 1

Right?
And, of course, we all know that .999... = 1, so that means that y = 0, right? Which means that all numbers infinitely close to one another, which represents the entirety of the real number line, are equal, right? Something here is screwed up, but for the life of me I can't figure out what.
PS, I wasn't sure what tag to give this, so feel free to edit them.
 A: Your mistake is in assuming that there is a real number $y=0.000\ldots1$, but actually there is no such thing. The real number system contains no "infinitely small" elements.
It is also wrong when you assert that

we know that all real numbers have two numbers which are infinitely close to them, right?

Two different real numbers are always a finite distance from each other.
You can get as close to your $x$ as you want without actually hitting it, but that is not the same as saying that you can get "infinitely close" to it.
A: "Infinitely many zeroes followed by a 1" is actually not a well-defined decimal numeral.
The places in a decimal numeral are all indexed by integers that denote their location relative to the unit place: e.g. the hundred's place has index $2$ and the thousandth's place has index $-3$.
If you have infinitely many zeroes to the right of the decimal point, that means every place whose index is a negative integer has to be a zero: so there aren't any places left to put a $1$!
One can create a numeral system that would allow numerals like the one you wrote, but there isn't a good number system for them to correspond to. e.g. what would $0.\overline{0}5 + 0.\overline{0}5$ be?
