marsh8472 wrote:
in order to prove 0.9999... = 1. Why can't a different definition be constructed to prove 0.9999 < 1. Is that not just as valid as what you did to prove 0.9999... = 1?

Of course you can make a different definition. I stated that in my very first post in this thread. If you define .999... as 47, then it's not 1. If you use the standard mathematical definition, .999... is 1. If I define the sun as a can of cat food, my cat is waiting for me to open the sun. What of it? That proved nothing about the sun, it only proves that if you make up your own definitions you can talk nonsense.

pps -- I went back to find my original quotes and I discovered that you are actually the OP. Didn't realize that. I replied to you at that time:

wtf wrote:If you tell me exactly what you mean by each of the symbols in the expression .999... = 1 I'll tell you whether it's true or false. Some examples:

* If the symbols have their usual meaning as defined standard math, then it's true.
...

* On the other hand if you define ".999..." as 47, then since 47 isn't 1, the statement's false.

Is that not the answer to your question? Once you define the meaning of the symbols the truth or falsity of the statement can be determined. That's normal in any formal system. A syntactic statement is not true or false until you provide an interpretation of the symbols.

A total order on the natural numbers is defined by letting a ≤ b if and only if there exists another natural number c where a + c = b

But when comparing 3 and Pi there exists no natural number that separates them and yet 3<Pi. Similarly even if no real number separates 0.9999... from 1, this does not mean 0.9999... is not still less than 1. Is "CompareReals" not consistent with this definition anyway? I use x<y to derive "LessThan", x=y to derive "Equals", and x>y to derive "GreaterThan"

marsh8472 wrote:
But when comparing 3 and Pi there exists no natural number that separates them and yet 3<Pi.

As I said a couple of posts ago, the order on the rationals is derived from the order on the integers, which is derived from the order on the naturals. And then the order on the reals is derived from the order on the rationals.

I confess I can not imagine where you got the phrase "no integer is separating them" from. I do not understand the referent of that remark.

marsh8472 wrote:
Similarly even if no real number separates 0.9999... from 1, this does not mean 0.9999... is not still less than 1. Is "CompareReals" not consistent with this definition anyway? I use x<y to derive "LessThan", x=y to derive "Equals", and x>y to derive "GreaterThan"

Your idea is a bit incoherent, since you claimed you have a limit but you failed to tell me the topology on your "compare" set that would make that meaningful. I'm refraining from engaging this line of argument in detail since it's cranky. A couple of days ago your posts were making sense to me, but recently not so much. To be polite I'd say "can you please clarify your ideas and presentation," but then I'd be committing to read it in detail. Since you are claiming to prove something that's known to be false, I have no moral obligation to read it.

marsh8472 wrote:
But when comparing 3 and Pi there exists no natural number that separates them and yet 3<Pi.

As I said a couple of posts ago, the order on the rationals is derived from the order on the integers, which is derived from the order on the naturals. And then the order on the reals is derived from the order on the rationals.

I'm still not convinced 0.9999... qualifies as a real number. If 0.9999.. and 1 do not differ by a real amount but do differ by a non-real amount, would that mean they are different?

wtf wrote:

marsh8472 wrote:
Similarly even if no real number separates 0.9999... from 1, this does not mean 0.9999... is not still less than 1. Is "CompareReals" not consistent with this definition anyway? I use x<y to derive "LessThan", x=y to derive "Equals", and x>y to derive "GreaterThan"

Your idea is a bit incoherent, since you claimed you have a limit but you failed to tell me the topology on your "compare" set that would make that meaningful. I'm refraining from engaging this line of argument in detail since it's cranky. A couple of days ago your posts were making sense to me, but recently not so much. To be polite I'd say "can you please clarify your ideas and presentation," but then I'd be committing to read it in detail. Since you are claiming to prove something that's known to be false, I have no moral obligation to read it.

How much more meaningful is 0.9999... = 1 compared to 0.9999... < 1? CompareReals(1, 2) evaluates to "LessThan" that's just as meaningful as saying limit of {1, 1.0, 1.00, 1.000, ...} is less than 2. If 0.9999... < 1 is known to be false, why did more people vote that it's true? I haven't been convinced that 0.9999... = 1.

I'll try to explain the difference again. Let compare(x, y) = -1 if x<y, 0 if x=y, and 1 if x>y which is exactly how the compare function works in some programming languages http://www.cplusplus.com/reference/stri ... g/compare/ (I also happen to have a degree in computer science).

marsh8472 wrote:
I'm still not convinced 0.9999... qualifies as a real number. If 0.9999.. and 1 do not differ by a real amount but do differ by a non-real amount, would that mean they are different?

I don't know what that means. What is differing by a non-real amount?

marsh8472 wrote:
(I also happen to have a degree in computer science).

Another tragedy It has been my experience that computer scientists simply don't grok the real numbers. In CS everything is computable (except the halting problem, which is the only time in their lives CS majors ever contemplate non-computable phenomena). But almost all real numbers (that is, all but a set of measure zero) are non-computable.

The limit as x->1 of compare(x, 1) = -1, agreed? Using this slightly different procedure to compare two real numbers, would this not prove that 0.9999... < 1?

We already agree that .9999...9 (finite number of 9's) is strictly less than 1.

However if we have a collection of numbers x_n such that x_n < 1 for each n, and the sequence x_n has the limit x, then the best we can say is that x <= 1. In other words "less than" turns to "less than or equal" in the limit.

The Compare function on the real numbers is extremely complicated! I'm sure you know that when you need to compare two floating point numbers, you can't just say "if float1 == float2 ...". Rather you have to pick an epsilon, say eps = .0001, and you go, "if abs(float1 - float2) < eps ..." You may have run across this, especially if you did any numerical analysis.

I Googled around and comparing floats is a very complicated subject. That's another area by the way in which computer scientists don't quite get reals. Floating point numbers are not real numbers, they're a lot different. So all the intuitions they teach you in CS are the wrong ones for math. But floating point numbers themselves are quite interesting. I doubt .999... = 1 in floating point. The problem is that you can't TELL if they're equal, only close to each other.

I was leafing through a book on numerical analysis in a bookstore once. This is my ONLY exposure to the subject but it was a good one. They gave the example of the famous harmonic series 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + ... In freshman calculus they give a beautifully simple proof that this series diverges. Even though the individual terms go to zero, the sequence of partial sums gets as large as you like. This series has no limit.

On the other hand on any physical computer, this sequence must converge. As long as available storage is finite, there is some largest denominator N that you can represent, and then 1/n is effectively 0 for all n > N. So the series always has a finite sum. If you converted all the matter in the universe into memory for this computation, the numerical harmonic series must converge.

The real numbers are very different than computational models of real numbers. Most real numbers can not be computed. There is no Turing machine that generates their digits. The real numbers lie far beyond computer science.

marsh8472 wrote:
I'm still not convinced 0.9999... qualifies as a real number. If 0.9999.. and 1 do not differ by a real amount but do differ by a non-real amount, would that mean they are different?

I don't know what that means. What is differing by a non-real amount?

The same way it is not the case that 3 = pi in the integer world, they do not differ by an integer but by a non-integer. Maybe 0.9999... differs from 1 by a non-real like a hyper-real or something not invented or even something inconceivable.

wtf wrote:

marsh8472 wrote:
(I also happen to have a degree in computer science).

Another tragedy It has been my experience that computer scientists simply don't grok the real numbers. In CS everything is computable (except the halting problem, which is the only time in their lives CS majors ever contemplate non-computable phenomena). But almost all real numbers (that is, all but a set of measure zero) are non-computable.

I've heard of plenty of proven undecidable problems. https://en.wikipedia.org/wiki/List_of_u ... e_problems there's a bunch. It assumes the turing machine is the most powerful type of computing device like with the Church–Turing thesis assuming the human brain is not capable of more. It certainly looks like that's the case but still not proven though.

The way it would work is I put a decimal number like "20" on the memory tape and then it would proceed to manipulate the tape until it finished with "3.14159265358979323846" I had it convert from decimal to binary to do the computations and then binary back to decimal too. The whole thing functions with binary operators at the lowest level

The limit as x->1 of compare(x, 1) = -1, agreed? Using this slightly different procedure to compare two real numbers, would this not prove that 0.9999... < 1?

We already agree that .9999...9 (finite number of 9's) is strictly less than 1.

However if we have a collection of numbers x_n such that x_n < 1 for each n, and the sequence x_n has the limit x, then the best we can say is that x <= 1. In other words "less than" turns to "less than or equal" in the limit.

Right I get this, the red flag comes up when we see we're solving for what the value approaches rather than what the actual values is. For example say we have the function f(x) = (x-2)/(x-2) where the graph will appear like a horizontal line at y=1 except it will have a hollow point at (2,1) . The function has no value at f(2). But if we take the limit x->2 of f(x) we get 1. Or if have a piece-wise function f(x) = x when x is not equal to 5 and 15 when x=5. This function will appear like the graph y=x except it will jump at a single point at (5,15). We know in this case the actual value at f(5) = 15 but the limit x->5 of f(x) = 5.

wtf wrote:
* ps -- By the way -- on a totally different topic of interest --

The Compare function on the real numbers is extremely complicated! I'm sure you know that when you need to compare two floating point numbers, you can't just say "if float1 == float2 ...". Rather you have to pick an epsilon, say eps = .0001, and you go, "if abs(float1 - float2) < eps ..." You may have run across this, especially if you did any numerical analysis.

Yeah there's precision issues with floats, there's either precision with small values or it handles larger numbers but loses decimal precision as a result. I usually avoid the floating point datatype and just use doubles myself. I've taken numerical analysis courses too. One time I made a calculator using some of the techniques there that would compute any arithmetic function like sin, cos, e^x, ln, log, x^y, as many decimals as I wanted. Here's the source code http://www.vbcode.com/Asp/showzip.asp?Z ... theID=8585 did that 14 years ago when I was bored

wtf wrote:
I Googled around and comparing floats is a very complicated subject. That's another area by the way in which computer scientists don't quite get reals. Floating point numbers are not real numbers, they're a lot different. So all the intuitions they teach you in CS are the wrong ones for math. But floating point numbers themselves are quite interesting. I doubt .999... = 1 in floating point. The problem is that you can't TELL if they're equal, only close to each other.

Yeah the floats suck. I just use double which does have limits but if I want to go beyond that I just create my own datatype like with that calculator. I can tell that 2 numbers are exactly equal with that.

wtf wrote:
I was leafing through a book on numerical analysis in a bookstore once. This is my ONLY exposure to the subject but it was a good one. They gave the example of the famous harmonic series 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + ... In freshman calculus they give a beautifully simple proof that this series diverges. Even though the individual terms go to zero, the sequence of partial sums gets as large as you like. This series has no limit.

Yeah it increases as slow as the log function as I recall.

wtf wrote:
On the other hand on any physical computer, this sequence must converge. As long as available storage is finite, there is some largest denominator N that you can represent, and then 1/n is effectively 0 for all n > N. So the series always has a finite sum. If you converted all the matter in the universe into memory for this computation, the numerical harmonic series must converge.

Yeah once 1/n is rounded to 0 for everything I suppose that's as far as it goes.

wtf wrote:
The real numbers are very different than computational models of real numbers. Most real numbers can not be computed. There is no Turing machine that generates their digits. The real numbers lie far beyond computer science.

Computer Science is part of applied math, not so much the theoretical stuff. A computer should be able to do anything your brain can though according to the church's thesis. I'd even go as far as to say computer science could create artificial intelligence and a technological singularity that would cause its intelligence to dwarf ours https://en.wikipedia.org/wiki/Technological_singularity. At that point a strong AI could discover more math than any human ever could, in theory.

I'm still undecided whether to vote "0.9999... < 1", "0.9999... = 1", or "don't know". Because of conflicting assumptions that can make either possibility true. They can't both be true in the same context, according to the non-contradiction axiom anyway. I'm sure I'll vote "don't know" in the end since I just know better than to pretend to know . Just because I wrote a proof for 0.9999... < 1 does not mean I accept it. It represents a rational justification for 0.9999... < 1. This is a mathematical proof someone wrote that 0.9999... < 1 https://arxiv.org/pdf/0811.0164.pdf that looks more thorough

No no no. If I may be so bold. Have many things to say about the rest of your post but let me hit this one before I go to bed.

Professor Amit on Quora referenced that paper and characterized it as "tongue in cheek." Professor Katz very well knows that .999... = 1 in the hyperreals but has some kind of pedagogical axe to grind and wrote a very misleading paper. If you read that paper, and I have, you will see that we need to give .999... a different meaning than the standard one. I would love to go through that paper line by line and publish a refutation. Professor Katz knows better, he's being a wiseass but knows that most people won't realize that. I've seen that paper quoted in many .999... discussions and in fact it's in the Wikipedia page on this subject and that paper is very misleading. And as I say you can take Alon Amit's word for it and not mine. Professor Katz just made my job that much harder. I really should write him about this. He's a professor and I'm some guy on the Internet. He did the world a great disservice by publishing his paper, which is perfectly correct as far as it goes, with such a misleading title.

He even admits in the paper if I recall that his point is pedagogical and not mathematical. He thinks calculus should be taught with the hyperreals. He's entitled to his opinion. What he's not entitled to do is write a paper that's mathematically correct but with such a terribly misleading title. The people who see the reference on Wikipedia only see the title and are thereby misled.

Alon Amit nailed professor Katz on this point and that was very insightful of him.

oh ok I only glanced at that paper myself. I prefer my more straightforward proof of 0.9999... < 1. https://betterexplained.com/articles/a- ... r-0-999-1/ explains the problems pretty good to me. I'm surprised you didn't really tackle that short proof and you seemed to shut down and give up pretty quick there. I would think it would be pretty simple like dismantling a logical argument where you can just point to a premise and say what's wrong because yadda yadda yadda instead of saying "I know 0.9999... = 1 therefore I do not need to even look at a proof that says otherwise" or complaining about rabbit holes.

When I use the topic "Is 0.9999... really the same as 1?", I did not state that we were confined to the conventional standards of the real number system. Your mind made those interpretations.

Jose Benardete in his book Infinity: An essay in metaphysics argues that some natural pre-mathematical intuitions cannot be expressed if one is limited to an overly restrictive number system:

The intelligibility of the continuum has been found—many times over—to require that the domain of real numbers be enlarged to include infinitesimals. This enlarged domain may be styled the domain of continuum numbers. It will now be evident that .9999… does not equal 1 but falls infinitesimally short of it. I think that .9999… should indeed be admitted as a number … though not as a real number.

marsh8472 wrote:oh ok I only glanced at that paper myself. I prefer my more straightforward proof of 0.9999... < 1. https://betterexplained.com/articles/a- ... r-0-999-1/ explains the problems pretty good to me. I'm surprised you didn't really tackle that short proof and you seemed to shut down and give up pretty quick there. I would think it would be pretty simple like dismantling a logical argument where you can just point to a premise and say what's wrong because yadda yadda yadda instead of saying "I know 0.9999... = 1 therefore I do not need to even look at a proof that says otherwise" or complaining about rabbit holes.

Easy, please. I'm just getting started for the day. I didn't click on that link. I'll look a it later. Better Explained is usually pretty good. I'll have a look.

But then how to explain Euclidean and non-Euclidean geometry? Transfinite ordinals and cardinals? .999... = 1???? That latter right there is a counterexample. Math is math, not physics. That point was a great shock to people in the 1840's when non-Euclidean geometry was discovered. Since then, we know that math is math and math is not necessarily physics although math is useful in physics.

And as I've asked before, why isn't chess supposed to give us a model of reality? Or Parcheesi, or Whist? Why the great ontological burden on one formal game and not another?

marsh8472 wrote:
When I use the topic "Is 0.9999... really the same as 1?", I did not state that we were confined to the conventional standards of the real number system. Your mind made those interpretations.

Very unfair. I could not have been more explicit that .999... = 1 if we give those symbols their standard mathematical interpretation. If not, then not.

marsh8472 wrote:
Jose Benardete in his book Infinity: An essay in metaphysics argues that some natural pre-mathematical intuitions cannot be expressed if one is limited to an overly restrictive number system:

The intelligibility of the continuum has been found—many times over—to require that the domain of real numbers be enlarged to include infinitesimals. This enlarged domain may be styled the domain of continuum numbers. It will now be evident that .9999… does not equal 1 but falls infinitesimally short of it. I think that .9999… should indeed be admitted as a number … though not as a real number.

So there's yet another philosopher who hasn't studied enough math. Let me look him up and see if that's true or if he has a point. I have no objection to intuitions of infinitesimals. Differential geometers think about infinitesimals all the time even though the modern formalisms avoid them. Everyone is entitled to their own private intuitions.

marsh8472 wrote:
Why should 0.9999... be considered a real number?

Least upper bound property of the real numbers.

Also, it's defined as the sum of the infinite series 9/10 + 9/100 + 9/1000 + ... That's a geometric series that converges to 1. They prove that in freshman calculus.

I skimmed the Better Explained piece. It seems like a compendium of all the wrong and misleading things people say on these .999... discussion forum threads.

In particular, the author claims that .999... < 1 in the hyperreals. This is simply not only false, but provably impossible. Professor Amit explained why in the very Quora article that you yourself linked.

Let me explain how this works, although this goes beyond what Prof. Amit said.

Consider the first-order theory of the real numbers. This is the formal syntactic list of axioms involving addition, multiplication, order, etc. It does not included the completeness axiom, which is second order (we quantify over subsets and not just over elements).

The standard reals are a model of this theory. So are the hyperreals. It's a theorem of model theory (the theory of formal systems and their models) that all models must satisfy the same first-order theorems.

.999... = 1 is a first-order theorem of the theory of the real numbers. That means it's provably true (ie there is a logical proof from the axioms) in the reals and also in the hyperreals.

It can not possibly be otherwise because both the reals and the hyperreals are models of the same set of axioms. So any proof that works in the standard reals also works in the hyperreals.

Now I am NOT saying that infinitesimals aren't a useful intuition; or that ultimately the physicists may say some day 200 years from now that we can detect infinitesimals in a particle accelerator.

What I am saying is that .999... = 1 is a theorem in the hyperreals; and that this MUST be so.

Finally, what about second-order properties such as completeness? Well, the hyperreasls are not complete. They are shot full of holes. In my opinion that's a very poor model for the intuitive idea of a continuum. The hyperreals are a tremendous distraction in the .999... discussion but a very common one.

Ok, now I looked up the Knuth reference you linked. That is NOT a link to anything Knuth said, but rather a link to somebody's blog in which they gave an out-of-context quote of something they claim Knuth said.

So we don't know the context; but we DO know in math that for example .5 = .4999... and that every terminating decimal expression can be so written. In other words any real number that has a terminating decimal expression also has a nonterminating expression ending in an infinite string of 9's.

Am I calling Knuth a fool or a liar? No of course not. It's the blogger who quoted Knuth completely out of context who is shading the facts here. Or perhaps professor Knuth is wrong on this mathematical point. But the quote as stated is wrong.

The Knuth statement is absolutely wrong as quoted, but that might be because Knuth was making some other point within some context, or was just misquoted or misunderstood by the blogger you linked. No way to no.

Now I went after the Benardete info. I found a 150 page book, which I haven't time to read.

Can you point me to the relevant sections? I'm perfectly happy to track down all your links to bad math, but reading entire books to try to understand your point is a little beyond the call of duty.

ps -- I have also queued up your Wiki link on modal realism. Would it be fair for me to ask you to give professor Amit's Quora article a close read? He gave a great answer.

pps -- The Bernardete book looks incredibly interesting! I will definitely give it the old short attention span skim. He starts out by saying, "This book is an attack on finitism
in all its forms ..." Now that's something I can support!

ppps -- I read your Wiki link on modal dependent realism. It says nothing whatsoever about math. Can you point me to anything on that page supporting the conclusion you drew from it?

pppps -- I found your quoted passage in the Benardete book, and I read his section on infinitesimals. I did not find his mathematical argument compelling. As I've said (repeatedly) I have no objection to intuitions or philosophical musings about infinitesimals. And I admit the possibility that 200 years from now, or perhaps tomorrow morning, some physicists will prove that the world is made of infinitesimals.

But in terms of math, .999... = 1. I don't think Bernardete made a mathematical case at all. He kept referring to sticks being cut and the leftover parts or whatever. He never made a mathematical argument. If you're familiar with the book perhaps you can outline where he was coming from.

Here is the paragraph directly preceding the one you quoted, on page 279. (The 150 I referred to before was the pdf page number. The book itself is 289 pages).

Bernardete wrote:
But if the total length of the original stick is exhausted by the pieces in the box, the infinitesimal chips must then be metrically superfluous. Actually the pieces in the box constitute a convergent series open at one end. Their total length is I minus an actual infinitesimal, in this case a very big infinitesimal seeing that its magnitude is equal to the combined magnitude of all the infinitesimal chips.