# How exactly does 0.999~ = 1?

matt grime
Homework Helper
Mindscrape said:
I still don't see why people so readily accept (1/3)=.333~

My take on this is that they think of decimals of representing the answer of doing a division, thus dividing 3 into 1 by long division gives them the sequence 0.3, 0.33, 0.333,... etc, and they somehow think that "thus the result is 0.3....." they do not see such a division for 0.999...

Further, to compound the problem, i suspect that since they do not know what convergence is they only accept 0.333recurring is 1/3 as some kind of decimal 'best guess', thus subconsciously they do not truly think of them as being exactly the same; this is the 'but you never reach the end' argument.

Of course this notional proof of 1/3 times 3 requires that we prove that the algebraic operations on decimals are well defined, which typically is not done.

Hurkyl said:
That's incorrect -- every true internal statement about the reals is also true about the hyperreals, and that includes 0.999~ = 1.
(I can explain further in private message, or a new thread -- I just don't want to muddle this one up)

Is that even possible? To muddle this, that is. I cant believe I said R*. I meant *R. Me is embarrassed.

Anyway, I think you might be misapplying the transfer principle or extension axioms or something. I think I can prove this as well. The basic ideas is that the limit never converges to 1 since there are an infinite number of numbers between.

matt grime
Homework Helper
It converges to 1 in the hyperreals too.

What's the difference between 1 and 0.9...? It is a real number (since the reals are a subring) that is also an infinitesimal, thus it is zero since there is exactly one infintesimal. (If it were otherwise how could it be a superset? (the injection would fail to be even a function))

matt grime said:
It converges to 1 in the hyperreals too.

What's the difference between 1 and 0.9...? It is a real number (since the reals are a subring) that is also an infinitesimal, thus it is zero since there is exactly one infintesimal. (If it were otherwise how could it be a superset? (the injection would fail to be even a function))
hmm.. I see, although i still disgree. I need to work this out myself. Perhaps I was wrong to call them superset then, i dunno. Ill shall henceforth be posting either my thanks for you correcting me or a proof as to why i am correct. shmoe
Homework Helper
Mindscrape said:
I still don't see why people so readily accept (1/3)=.333~

I think part of the acceptance of 1/3=.33~ is there's no alternate decimal expansion. The unfounded notion that every number must have a unique decimal expansion is probably fuel for many of the .99~ complainers.

These threads always make me try to remember what I actually thought the real numbers were in high school, but I can't seem to remember doing any math before my first analysis class.

russ_watters said:
If nazgjunk's simple and elegant proof (minus the typo, of course )isn't enough to quench all doubt, perhaps a question:
If 0.999... is not equal to 1, then there must be a number between the two: what is it?
And don't say 0.000...1, because there is no such thing.

I searched for this thread before I posted one but couldn't find one, forgive me.

It seems to defy logic sense. Why? Because of limits. I thought the whole point is of a limit THAT YOU APPROACH SOMETHING but never actually reach it. You're still a very very closet o it, and as you do so it effects other varibles. (I think f(x). I've read about limits although my math behind it is obviously fuzzy.

What I don't undestand is what 'matt grimes' says that actually reaching the limit is the whole part of it. Huh? I thought you can't reach it but can only get very close, and as you get closer, f(x) gets closer an closer to c, right?

There is nothing after 0.99~. Because it goes on forever. I'm 17, still, even though it equals 1 using fractions (which is obvious) the decimals are not so obvious.

Quick question, if you had line .999~ cm long vs a line 1 cm long would they be exactly the same or would the .999~ be missing the point at 1

Curious3141
Homework Helper
Wow, this again. But since this thread seems to have been allowed to go on a little longer this time, let me try a pet argument I've been nursing to convince the unbelievers. I'm sure I've seen the erroneous objection from some that they can find a 'number' between 0.9999~ and 1, viz. 0.999....5 (an infinite string of nines and a 5 miraculously tacked on to the end).

Well the next time they make that argument, I'm going to spring this one on them :

In binary, 0.1111~ = 1 This is the exact analogue of the problem in decimal. Now find me a binary number between 0.111~ and 1

The problem with confusion can be traced back to the notion of decimal, irrational, rational not being taught properly in the elementary levels and the finitude of the human mind. Hence the formation of crystallized misconceptions which more often than not, have hardened beyond the point of remoldability and must be broken and rebuilt.

As for approaching, think not of it that way but rather as becoming complete or more formally, converging [to a final limit value]. Also, try to remove all aspects of time in your reasoning when considering limits.

Hurkyl
Staff Emeritus
Gold Member
It seems to defy logic sense. Why? Because of limits. I thought the whole point is of a limit THAT YOU APPROACH SOMETHING but never actually reach it.

The sequence:

0, 1/2, 2/3, 3/4, 4/5, 5/6, ...

has limit 1. Does that mean that "1" is approaching something, but never quite reaching it?

Of course not, that's silly.

The sequence:

0.9, 0.99, 0.999, ...

has limit 0.999~. It is similarly silly to talk about "0.999~" approaching something.

(Of course, this sequence also has limit 1)

Hurkyl
Staff Emeritus
Gold Member
In binary, 0.1111~ = 1 This is the exact analogue of the problem in decimal. Now find me a binary number between 0.111~ and 1
Why, 0.111...01, of course. Hurkyl
Staff Emeritus
Gold Member
Quick question, if you had line .999~ cm long vs a line 1 cm long would they be exactly the same or would the .999~ be missing the point at 1
If you had a line .999~ cm long, then something is seriously wrong, because lines extend infinitely in both directions.

If you had a line segment 0.999~ cm long, then it would have both its endpoints because, by definition, line segments contain both of their endpoints.

russ_watters
Mentor
QuantumTheory said:
It seems to defy logic sense. Why? Because of limits. I thought the whole point is of a limit THAT YOU APPROACH SOMETHING but never actually reach it.
That isn't how limits work. A limit is an exact number - what tends to infinity isn't the limit (actually, I'm not sure if it has a name, but it's the "x" below...).

Ie:

lim 1/(1-x) = 1
x-> 0 (sorry - hate latex)

The equals sign is for real - that limit really is exactly equal to 1. The "x" is approaching something (infinity), but the limit itself is exactly equal to 1.

An interesting link, using polygons inscribed in a circle: http://www.coolmath.com/limit1.htm [Broken]

-As n gets larger, the n-gon gets closer to being the circle.
-As n approaches infinity, the n-gon approaches the circle.
-The limit of the n-gon, as n goes to infinity, is the circle!
"n" approaches infinity, but the limit is exactly equal to the circle.

And that's the entire point of limits - to find exact values for things that are otherwise difficult to pin down (such as the slope of a curve at a single point).

I actually enjoyed calculus-I (yeah, I'm a freak), because when I got my arms around this concept (didn't just plug and chug, but actually understood the point of limits), calculus-I became a piece of cake. It also helped that I took it in conjunction with Newtonian physics and they are so related that both help you learn the other.

Last edited by a moderator:
do you know that "there are twice as many numbers as numbers"?

russ_watters said:
lim 1/(1-x) = 1
x-> infinity (sorry - hate latex)
Don't you mean zero?

sameandnot said:
do you know that "there are twice as many numbers as numbers"?

Word play.

---

I think the so called Weisserstras Rigorous Epsilon-Delta formulation of limits is every bit as artificial as the naive concept. Simply one level of abstraction high enough to delude one's self into acceptance.
---
nate808, on the ruler you would have the point. The best explanation I can think of is that 0.9... is 1 because we are clever enough to jump out of the system or loop of repetetive non stop addition to see what is actually going on with adroit manipulation of intrinsics.

I hope I didnt make too many mistakes. For the hyperreals , 0.9... <> 1. First I clarify and set up. If A is an *R statement then R --> *R (if true in R then R* for A and *R statement) , the converse, *R --> R is false. Thus simply stating that something is true in R makes it always true in *R is not enough. There is only a gurantee that if A is a properly defined statement then there will be a behaviour in *R that "functions" as expected. But it need not be the only one. An internal statement in *R is not necessarily true in all subsets of *R, especially depending on your language strength. Also, *N is an internal subset of *R but not N. For example, x + y = 3 is only true in *R when we have (x,y) = (1-e, 2 + e) otherwise, x + y <> 3 even though st(x + y)=3. The behaviour of infinitesimals and finites hint that there exists gaps in any cuts we make in *R (if we began with sets containing only finite hyperreals for example).

Note though, that A an R statement --> R <--> *R. But then *R is not Dedekind Complete, it is not possible to define cuts such that there will always be a number in a gap. It not possible to extend the completeness axiom over to *R. The proof for 0.999... = 1 depedends on an ability to define cuts at its heart and Dedekind completeness. I will not go into that but will argue intuitively.

There exists a hyperreal number e that is infinitely near to any finite number r. I use ~= to mean infinitely approximately (infiniproixmitely) close to. Since there exists e infinitely near to all r then there exists r ~= r - e ~= r + e. The real, r = st(r), the standard part of the hypernumber r. Suppose we have two finite hyperreals r ~= 0.99...9 and s ~=1 then you cannot prove that it converges or whatever because there exists hyperreals r,s,t members of some set S where r < t < s with t not in the interval. Which is undefineable anyway. There is no intreval between the two numbers since such a thing is undefined. You can still however, use hyperreals to study convergance and limits and all that lovely stuff since we would actually be operating on reals but using hyperreals in place of infinities, infinitesimals and stuff. Just as rigorous but much more efficient than epsilon-delta. limits.

st(0.9...) = st(s) = 1 ~= 1 - e < 1+e ~= 1 ~= 1 + e.

This hyperreals vs limits remind me of the old fight between quaternions and vectors and grassman's algebras. limits map to quaternions and hypers to Grassman.

Last edited:
matt grime
Homework Helper
No idea what that proves. I know what you think it proves, but I'm afraid that 1/n still tends to zero in the hyperreals. Indeed the transfer principle you cite proves it. Arguing intuitively doesn't prove a single thing.

You do not construct hyper reals by taking limits of 'decimals' or real numbers, 0.9... still represents a real number, the limit of the partial sums, that limit is taken in the subset of the reals since the limits are purely objects lying in the reals, hence they are still equal in any *extension* of R.

Last edited:
russ_watters
Mentor
Mindscrape said:
Don't you mean zero?
Dang, me too.... Fixed now, thanks.

matt grime said:
No idea what that proves. I know what you think it proves, but I'm afraid that 1/n still tends to zero in the hyperreals. Indeed the transfer principle you cite proves it.

Perhaps we are talking about 2 different things? 0.9... does not tend to 1 on the hyperreal line because the hyperreal line contains infinitesimals!

The picture argument. On the hyperreal line, There exist numbers between every number that disallow the step required for 0.9... to converge at 1. We cannot make the inductive jump. 0.9...9, 0.9...9 + e, 0.9...9 + 2e and so on.

The formal attacks. Consider the first proof given http://www.cs.uwaterloo.ca/~alopez-o/math-faq/node41.html#SECTION00531000000000000000".
The proof fails since it is possible to choose e > 0 but less than or equal to all *R. Then e cannot equal 10 ^ (-1/d). Indeed the proof ends up saying something meaningless like infinitely approximately less than zero.

Again in http://en.wikipedia.org/wiki/Proof_that_0.999..._equals_1" [Broken] it states:
If an upper bound less than 1 exists, it can be written as 1−x for some positive rational x. To bound 9⁄10, which is 1⁄10 less than 1, x can be at most 1⁄10. Continuing in this fashion through each decimal place in turn, induction shows that x must be less than 1⁄10^n for every positive integer n. But the rationals have the Archimedean property (they contain no infinitesimals), so it must be the case that x = 0. Therefore U(S) = U({1}), and 0.9999… = 1.
Since there exist non zero infinitesimals we can only say that the series gets aproximately close to 1 since we are approximately close to 0 (there exists 0 < e ~= 0). But in fact the whole endeavoure is meaningless since the cuts that created the entire decimals should not have been possible! Since we have e, the gaps created should have been empty. There is no concept of inifinite precision, just a line riddled with gaps as we go through all c in our original set. In fact, the proof is not possible since a meaningful upper bound cannot be found in *R due to the existance of infinitesimals.

Suppose we rewrite the decimal number as a sequence, then because there is no completeness [axiom] in *R, it cannot be shown to converge or diverge etc. I end like so:

The archimdean property is equivelant to the statement s = {1/n} converges to 0. Any system which contains infinitesimals is non-archimedean. The hyperreals contain infinitesimal and thus s = {1/n} does not neccessarily converge to 0. This fact, coupled with the lack of gurantee of convergance on monotonic sequences and a lack of least upper bound property all point that the series 9 * sum(n, infinity,1/10^n) over *R, whose properties are accounted for in their totality cannot be shown to converge at 1.

Last edited by a moderator:
matt grime
Homework Helper
So, what you're saying is that the statement

"1/n does not tend to zero"

is provably true in the hyperreals, which, implies that it is true in real analysis and moreover provably in real analysis, hmm, that seems more than a little problematic. perhaps you need to check what convergence means in the hyperreals (which is more than the statement that x_n-x lies between -e and e, something you point out is not meaningful in *R, I believe. something tends to zero if the limit is both infinitesimal and real, and thus zero since thaht is the unique real infinitesimal, so we are saying 1/n tends to zero because it is *real* at all points and the limits is an infinitesimal, hence 0, convergence is a different beast here.)

*R is an extension of the real number system to a large set, results that are statable about elements of *R and that are true in R are true in *R, that is the transfer principle. The statement 1/n converges to zero is statable in *R, restricted to R is true so it is true in *R.

Last edited:
Hurkyl
Staff Emeritus
Gold Member
I think the so called Weisserstras Rigorous Epsilon-Delta formulation of limits is every bit as artificial as the naive concept. Simply one level of abstraction high enough to delude one's self into acceptance.
How can accepting any axiom or definition be a delusion?

I can't even figure out what makes you think the definition is abstract anyways.

(The Weisserstras formulation is superior to the naive concept, of course, simply because it is a formulation -- I can't mathematically prove anything about the naive concept)

nate808, on the ruler you would have the point. The best explanation I can think of is that 0.9... is 1 because we are clever enough to jump out of the system or loop of repetetive non stop addition to see what is actually going on with adroit manipulation of intrinsics.
There are several problems with this:
(1) One's "cleverness" (or lack thereof) has nothing to do with what is actually deducible.
(2) Even if I grant you the liberty of calling an infinite sum "non-stop addition", there are plenty of formulations of the decimal numbers that never make reference to such a thing.
(3) In many formulations of the decimal numbers, 0.9~ = 1 (and similar equations) are part of the definition, and not some "adroit manipulation of intrinsics".
(4) Your whole response seems to imply that you think 0.9~ = 1 is a "bad" thing -- but you have to remember that the point of the decimal numbers is not so people can have fun pushing numerals around: it's so that they can be a complete ordered field. (i.e. a model of the real numbers) There are plenty of demonstrations why allowing 0.9~ and 1 to be different would mean this goal was not achieved. (Such as the famous 1.0~/3.0~*3.0~=0.9~ calculation)

I hope I didnt make too many mistakes. For the hyperreals , 0.9... <> 1. First I clarify and set up. If A is an *R statement then R --> *R (if true in R then R* for A and *R statement) , the converse, *R --> R is false.
Wrong. (Possibly due to sloppiness)

If P is an (internal) statement about the reals, and *P is the corresponding statement about the hyperreals, then P is true if and only if *P is true.

Thus simply stating that something is true in R makes it always true in *R is not enough.
Of course it is enough -- this is the direction that allows me, given the truth of the statement

0.9~ = 1

to conclude the truth of the statement

*0.9~ = *1

There is only a gurantee that if A is a properly defined statement then there will be a behaviour in *R that "functions" as expected. ... The behaviour of infinitesimals and finites hint that there exists gaps in any cuts we make in *R (if we began with sets containing only finite hyperreals for example).
I find this all confusing; I'm not sure what it's supposed to say. (e.g. x+y=3 is true in the reals if and only if there is an e such that x = 1-e and y = 2+e)

Note though, that A an R statement --> R <--> *R. But then *R is not Dedekind Complete, it is not possible to define cuts such that there will always be a number in a gap. Note though, that A an R statement --> R <--> *R. But then *R is not Dedekind Complete, it is not possible to define cuts such that there will always be a number in a gap. It not possible to extend the completeness axiom over to *R.
Yes, you can. Dedekind completeness is a true internal statement about the reals. Therefore it is true for the hyperreals.

You're confusing the internal and external statements of Dedekind completeness. It is true (by the transfer principle) that every internal Dedekind cut is generated by an element of *R, and therefore *R is internally Dedekind complete.

The proof for 0.999... = 1 depedends on an ability to define cuts at its heart and Dedekind completeness.
No, the classic proof is a basic epsilon-delta proof that
$$\sum_{n = 1}^{+\infty} 9 \cdot 10^{-n} = 1$$
and this is valid, for example, in the rational numbers, which are also not Dedekind complete.

I'll tell you what is true, and where you went wrong:

Suppose I take the mapping f : N -> R given by:

$$f(n) := \sum_{k = 1}^{n + 1} 9 \cdot 10^{-k}$$

Of course, this is simply the sequence of partial sums of 0.999~.

Now, suppose I also take the injection i : R -> *R.

It is true that the sequence (i o f) : N -> *R does not have a limit.

However, this has absolutely nothing to do with *0.9~. Your mistake is that you've only transferred part of the whole setup. In the hyperreals, the value of *0.9~ is given by the limit of the function

*f : *N -> *R

which is the *-transfer of the previous function f.

If you don't want to use the transfer principle, it is straightforward to show directly that the limit of *f is 1. (The proof is identical to the real case -- you can get a closed form for the sums of hyperfinitely many terms, and then show the closed form goes to 1)

To sum it up, externally speaking, *0.9~ has more digits than 0.9~.

The archimdean property is equivelant to the statement s = {1/n} converges to 0. Any system which contains infinitesimals is non-archimedean.
But the hyperreals are hyperarchmedian! The sequence s = {1/n} does converge to zero when you take the hypernaturals as your index set.

Hurkyl said:
(1) One's "cleverness" (or lack thereof) has nothing to do with what is actually deducible.

But it is what allows one to deduce something outside the system. See Godel, Escher Bach an Eternal Golden braid for my meaning.

(2) Even if I grant you the liberty of calling an infinite sum "non-stop addition", there are plenty of formulations of the decimal numbers that never make reference to such a thing.

Again, just an example.

Yes, you can. Dedekind completeness is a true internal statement about the reals. Therefore it is true for the hyperreals.

No it Isnt! I showed how there can exist gaps in cuts. Check any text on non standard analysis any you will see that there is no completeness axiom, and nor are they dedekind complete or archimedean. I do not think I could misudnerstand that. I think you use the transfer principle too liberally.

No, the classic proof is a basic epsilon-delta proof that
$$\sum_{n = 1}^{+\infty} 9 \cdot 10^{-n} = 1$$
and this is valid, for example, in the rational numbers, which are also not Dedekind complete.
I may be wrong but I think you implicitly just created a real number as the sum you have can be taken as a cut made in the rationals.

But the hyperreals are hyperarchmedian! The sequence s = {1/n} does converge to zero when you take the hypernaturals as your index set.

Oh wow! I didnt know that. I just learned a cool new word, thanks. EDIT: A search on google, I could not find any cases where hyperreals were linked to hyperarchimidean properties. Only multi values algebras (which gets the hyperacrhimedean property when all its elements are archimidean) whose meaning I am unsure of due to my lack of experience with them. But what of my sequence argument? Represent 0.9... as a sequence, in *R you cannot show convergance.

Last edited:
matt grime said:
So, what you're saying is that the statement

"1/n does not tend to zero"

is provably true in the hyperreals, which, implies that it is true in real analysis and moreover provably in real analysis, hmm, that seems more than a little problematic. perhaps you need to check what convergence means in the hyperreals

*R is an extension of the real number system to a large set, results that are statable about elements of *R and that are true in R are true in *R, that is the transfer principle. The statement 1/n converges to zero is statable in *R, restricted to R is true so it is true in *R.

No, something true in *R does not need to exist in R, for example st() has no R counterpart. This by the way is what I was trying to say earlier Hurkyl, when you said I was wrong.

But what of my attack of the 2 proofs? They use properties (are not statements) only applicable to R an not *R . For example, an ability to create an upperbound set with a maximal element or the assumption of 0 being the only hyperreal etc. ?

matt grime