Thread: Concept of Quantity

  1. #151
    Registered User
    Join Date
    Oct 2008
    Posts
    1,262
    Quote Originally Posted by C_ntua View Post
    So concluding:
    Code:
    0.9999... = lim(x -> inf) ( 9*10^-1 + 9*10^-2 + 9*10^-3 + ... + 9*10^-x )
    is NOT true.
    So just to verify, you believe the rest of my proof, assuming this:
    Code:
    0.9999... = lim(x -> inf) ( 9*10^-1 + 9*10^-2 + 9*10^-3 + ... + 9*10^-x )
    Now that, I believe, is a matter of definition. And it's a good point to disagree on. Let me explain my point of view on this...
    I believe the definition of a limit is hidden inside the definition of "0.9999...". Okay, let's consider a decimal point followed by a billion 9s. That may be quite close to "0.9999..." for our considerations, but it's still some distance away from "0.9999...", namely all the nines after the billion 9s. So we can add ANOTHER 9. We get closer to the number, but we're still not there.
    So we add more and more 9s, and we get closer and closer, but never actually get there. Or: as the number of 9s goes to infinity we get closer and closer to "0.9999...". That's exactly what I'm saying here:
    Code:
    0.9999... = lim(x -> inf) ( 9*10^-1 + 9*10^-2 + 9*10^-3 + ... + 9*10^-x )
    But at the very least, even if you take another definition, to me this seems to prove that there is no number between "0.9999..." and 1: if there were, the limit there would be less than 1!
    And one can always find a number between two numbers that aren't equal: their average, for example.


    I think the real problem is that "0.9999..." doesn't actually exist in real numbers (and thus takes the properties of the closest number). I mean, a decimal point followed by a billion 9s exists and may be quite close. But two billion 9s is even closer, but still not there. But there isn't an actual real number with an INFINITE amount of 9s. It can get very, very high, as close to infinity as you want but never actually infinity.
    That doesn't mean we can't say "0.9999..." is a number, and check what the results are. The properties that follow are exactly that of 1. And two numbers with the same properties, at least in real numbers, are equal.

  2. #152
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by User Name: View Post
    When it is not specified otherwise, R is implied. In *R, .999... may not equal 1, but who considers *R when it is not specified? No one.
    I said in R. You cannot prove that 0.999... is 1 in R. It's impossible to prove it.

    0.999... = 1

    That expression fails in R, even to the most basic elementary school exercise:

    0.9 != 1
    0.99 != 1
    0.999 != 1
    0.9999 != 1

    And so forth, all the way towards infinity. It can be said that it will never be 1 in R, no matter how many 9s you add. Something that never is, cannot ever be.

    So, there is an inconsistency of results between these "proofs" and the most basic test that can be done to the result of these proofs. This inconsistency cannot simply be ignored! It results from the fact that the real reason why 0.999... is considered 1 in R is because of the limitations of R.

    Any mathematical proof is thus flawed. It will always contain either unknown assumptions or tricks, illusions to trick the mind into reaching the conclusion that 0.999... is 1. They have to; their result is an expression that fails in R to even an elementary school algebra test.

    ...
    What instead can be said is that there is no proof for 0.999... = 1. There is however the necessity for this equality to exist within R so the number system doesn't fall apart. So, we simply accept that 0.999... is 1. We don't try to prove it.

    When the wikipedia article speaks of "students that have trouble understanding this concept" and of "students that refuse to accept this equality", it is exactly because there is a dishonest approach to the whole thing being performed by these so-called proofs. These "students" are indoctrinated with false, inconsistent, proofs instead of being explained right from the start the very essence of the problem, and those "proofs" being used instead to explain the necessity for that equality. You bet it annoys me this resorting to falsity, to illusion in mathematics, in order to prove something that cannot be ever be proved. But that would be much more easily understood, if only the method of teaching was based on not trying to prove it.
    Last edited by Mario F.; 03-06-2011 at 09:50 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  3. #153
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by Mario F.
    That expression fails in R, even to the most basic elementary school exercise:

    0.9 != 1
    0.99 != 1
    0.999 != 1
    0.9999 != 1

    And so forth, all the way towards infinity. It can be said that it will never be 1 in R, no matter how many 9s you add.
    I do not agree since the claim that this holds "all the way towards infinity" is suspect as you are extrapolating from examples that do not actually consider this.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  4. #154
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Being that the case, being that you cannot accept the logical progression of that test, you fall into the category of intuitionists who do not allow the law of excluded middle to progress towards infinite. That is fine actually. It is a school of thought, as opposed to that of formalists.

    Essentially you refuse to accept infinity as an absolute totality. When I reduce to the absurd the example above, you don't accept the conclusion because infinity cannot be reached, or better, it isn't available to us. The conclusion I reach is not available to us, according to intuitionists.

    That's fine. But then the problem arises that you cannot accept either that 0.999 is 1. For the exact same reasons.
    Last edited by Mario F.; 03-06-2011 at 10:39 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  5. #155
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by Mario F.
    Essentially you refuse to accept infinity as an absolute totality. When I reduce to the absurd the example above, you don't accept the conclusion because infinity cannot be reached, or better, it isn't available to us.
    No, I do not accept the conclusion because your proof is along the lines of "this holds for x=1, x=2, x=3, therefore it holds for all natural numbers".

    Consider:
    1/2 != 1
    1/2 + 1/4 != 1
    1/2 + 1/4 + 1/8 != 1
    1/2 + 1/4 + 1/8 + 1/16 != 1

    Yet, I would say that the sum from 1 to infinity of 1/(2^i) = 1. I mainly convinced by the fractional argument, but nonetheless in the same vein I would say that the sum from 1 to infinity of 9/(10^i) = 1.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  6. #156
    S Sang-drax's Avatar
    Join Date
    May 2002
    Location
    Göteborg, Sweden
    Posts
    2,072
    Quote Originally Posted by Mario F. View Post
    In fact, if we consider the definition of 0.999... as that of a number that converges to 1 at infinity, it becomes evident that 0.999... is a number that will never be 1.
    From this and other quotes I draw the conclusions that you view "0.999..." as some kind of process. It is not. It is a number.

    Many posts ago you said that "0.999..." is rational. Well then, can you produce two integers whose fraction is "0.999..."?

    Let's call "0.999..." x. If x is not equal to 1, there must be a number between x and 1. One example is x + (1-x)/2. Another number is x + (1-x)/4. What are those numbers? They must be larger than "0.999..." and smaller than 1. This seems strange, right?

    I feel that I must once again iterate that "0.999.." is a number, not a process.

    And, if you like proofs from authority, yes, I am a mathematician (although arguably not a very authoritative one :-))

    EDIT:
    Quote Originally Posted by Mario F. View Post
    Being that the case, being that you cannot accept the logical progression of that test, you fall into the category of intuitionists who do not allow the law of excluded middle to progress towards infinite. That is fine actually. It is a school of thought, as opposed to that of formalists.
    This breaks my mind. You are familiar with and use terms like "intuitionism" and "formalism", but fail to accept the fact that "0.999... = 1"?

    Why is two ways of writing the same number objectionable? For instance, no person (I hope) would deny that

    1.000... = 1
    ...0001 = 1

    and so on. Yet they are all different ways of writing the number one.
    Last edited by Sang-drax; 03-06-2011 at 11:42 AM.
    Last edited by Sang-drax : Tomorrow at 02:21 AM. Reason: Time travelling

  7. #157
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    Yes, I would disagree on that part even though I agreed at first
    Quote Originally Posted by EVOEx View Post
    So we add more and more 9s, and we get closer and closer, but never actually get there. Or: as the number of 9s goes to infinity we get closer and closer to "0.9999...". That's exactly what I'm saying here:
    Code:
    0.9999... = lim(x -> inf) ( 9*10^-1 + 9*10^-2 + 9*10^-3 + ... + 9*10^-x )
    The "..." is a bit tricky symbol and confuses things. Since you put "x" you assume something like this:
    Code:
    0.999..... = Σ(x=1...inf)(9*10^-x)
    which is fine, but what you do with the above representation is that somehow you use only the last "x". That is how I see it. Where there is a huge difference

    x->inf means that x goes to infinity
    x=1...inf means that you have a put one by one numbers from 1 to infinity

    If you want to use limits you would do:
    Code:
    lim(Z->inf)(Σ(x=1...Z)(9*10^-x))
    You see that there is a separation on the symbols, mixing x with Z here is what makes this assumption wrong.
    The symbols "lim" and "->" follow certain rules and those should be used exactly as they are and not just because they seem right. So the starting point is
    Code:
    0.9999... = 9*10^-1 + 9*10^-2 + 9*10^-3 + ...
    and you should add limits if you want by starting there.

  8. #158
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    Quote Originally Posted by EVOEx View Post
    But at the very least, even if you take another definition, to me this seems to prove that there is no number between "0.9999..." and 1: if there were, the limit there would be less than 1!
    And one can always find a number between two numbers that aren't equal: their average, for example.
    Going on this logic, as said in an earlier post, then you have to consider that
    Code:
    lim(x->inf)(9*10^-x) = 0
    so you are not getting closer and closer since you will be adding zero. True?
    In other words the difference will always be "0.00..001". The more 9s you add the more 0s you can add and you are always on the same point.
    And the logic you are getting closer and closer is controversial to infinity. If you have infinite space, will you ever reach the end? That is the point, you would never reach the end.
    Even worse, if you can reach 1, then if you add another 9s what happens? If you add another and another? Makes no real sense.
    Wouldn't you agree that if there is no limit then it will grow bigger and bigger? If there is a limit that would be one, but by definition it will never reach it.

  9. #159
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    The whole point is you don't even reach the end of infinity. The whole point of saying anything like "endless nines" is that "Look to the nth place, and there will be a nine there." Furthermore, any real number between 0.999... and 1 would be too big.

    You can't really take the difference: 1.000000... - 0.999999... = 0.000000...

    You can write that last 1 when you finish writing zero to infinite places, but you will never finish, will you? What's the point of arguing all the rigorous testing done by wolfram? It just seems silly that the only number people can think of between 0.999... and 1 is some number with even more nines. But for any number you can think of, it's part of 0.999... to begin with.

  10. #160
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Sang-drax View Post
    This breaks my mind. You are familiar with and use terms like "intuitionism" and "formalism", but fail to accept the fact that "0.999... = 1"?
    No, I don't. I fully accept that 0.999... = 1. What I refuse is any attempt at a proof. Read post #152.
    Last edited by Mario F.; 03-06-2011 at 02:12 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  11. #161
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    Quote Originally Posted by whiteflags View Post
    The whole point is you don't even reach the end of infinity. The whole point of saying anything like "endless nines" is that "Look to the nth place, and there will be a nine there." Furthermore, any real number between 0.999... and 1 would be too big.

    You can't really take the difference: 1.000000... - 0.999999... = 0.000000...

    You can write that last 1 when you finish writing zero to infinite places, but you will never finish, will you? What's the point of arguing all the rigorous testing done by wolfram? It just seems silly that the only number people can think of between 0.999... and 1 is some number with even more nines. But for any number you can think of, it's part of 0.999... to begin with.
    Well, reading a bit more about it I see it is actually a whole debate and there are numerous studies on the subject, so I will agree that at least my arguments are silly compared to those studies

    I think in the end it is accurate to say it depends if you see it as a number or process as Sang-drax pointed out.
    If you see it as a sequence it would depend on how you define the sum of an infinite sequence.

    So I guess I am seeing it as a process, since I claimed it is not a number. But if you were to see it as a number then I would agree that it is one. I would say that there is a different logic for a process and a number, thus you would use slightly different arguments. So if I were to "defend" it as a process I would conclude that 1 is its limit. If I was to "defend" it as a number, then it will be equal to 1, since I cannot use a limit for a number as it is something fixed.

    As to conclude the mathematical part and officially skip out of the topic
    Code:
    0.999.... = Σ(x=1...Z)(9*10^-x)
    lim(Z->inf)0.999.... = lim(Z->inf)(Σ(x=1...Z)(9*10^-x))
    1 - lim(Z->inf)0.999.... = 1 - lim(Z->inf)(Σ(x=1...Z)(9*10^-x)) 
    1 - 0.999.... = lim(Z->inf)(Σ(x=1...Z)(1 - 9*10^-x)) 
    1 - 0.999... =  lim(Z->inf)(1 -1^-Z) = 0;
    1 = 0.999...
    if the above or something similar is correct then EVOex is right using limits to prove the point. This assumes that 0.999... is a number and can be used like one.
    If it is a process, then the objections would be on
    Code:
    lim(Z->inf)0.999.... = 0.999....
    which is not valid for a process and in a way you would have to conclude to
    Code:
    lim(Z->inf)0.999.... = 1
    which is fine.
    So this will prove that if 0.999.... is a number with it is equal to 1 unless I am missing something.

    I am guessing similar methods exist and if you are to take 0.999.... it will follow the same algebra and theorems for all numbers and that is why it ends up as 1.

    Personally, when infinity is involved I see it as a never ending process.

  12. #162
    Registered User
    Join Date
    Oct 2008
    Posts
    1,262
    Quote Originally Posted by C_ntua View Post
    Yes, I would disagree on that part even though I agreed at first

    The "..." is a bit tricky symbol and confuses things. Since you put "x" you assume something like this:
    Code:
    0.999..... = Σ(x=1...inf)(9*10^-x)
    which is fine, but what you do with the above representation is that somehow you use only the last "x". That is how I see it. Where there is a huge difference

    x->inf means that x goes to infinity
    x=1...inf means that you have a put one by one numbers from 1 to infinity

    If you want to use limits you would do:
    Code:
    lim(Z->inf)(Σ(x=1...Z)(9*10^-x))
    You see that there is a separation on the symbols, mixing x with Z here is what makes this assumption wrong.
    The symbols "lim" and "->" follow certain rules and those should be used exactly as they are and not just because they seem right. So the starting point is
    Code:
    0.9999... = 9*10^-1 + 9*10^-2 + 9*10^-3 + ...
    and you should add limits if you want by starting there.
    Actually, the two are identical:
    Code:
    lim(Z->inf)(Σ(x=1...Z)(9*10^-x))
    0.9999... = lim(x -> inf) ( 9*10^-1 + 9*10^-2 + 9*10^-3 + ... + 9*10^-x )
    Except that I was too lazy to get the sigma symbol here, so I simply wrote it out with "+ ... +". Let me proof it again for you using the sigma notation.

    But first let me discuss this part of what you said:
    so you are not getting closer and closer since you will be adding zero. True?
    In other words the difference will always be "0.00..001". The more 9s you add the more 0s you can add and you are always on the same point.
    But:
    Code:
    lim(x->inf)(9*10^-x)
    Is not a very small number, you have to understand. It's actually 0, per definition of the limit. If x grows towards infinity "9*10^-x" grows smaller. The "9*10^-x" term grows to 0 but never actually becomes 0, meaning the LIMIT is 0.

    Now let me proof it using your notation (which is the same except for notational differences). If you still disagree with something please show me exactly what, because I am curious about all this.

    Code:
    0.9999... = lim[Z->inf]( Σ[x=1...Z](9*10^-x) )
    1 - 0.9999... = 1 - lim[Z->inf]( Σ[x=1...Z](9*10^-x) )
    1 - 0.9999... = lim[Z->inf]( 1 - Σ[x=1...Z](9*10^-x) )
    There, same three steps as before. Now we start taking terms from the sigma and combining it with the "1" (notice the change in the "1" in the sum).
    Code:
    1 - 0.9999... = lim[Z->inf]( (1 - 9*10^-1) - Σ[x=2...Z](9*10^-x) )
    1 - 0.9999... = lim[Z->inf]( 1*10^-1 - Σ[x=2...Z](9*10^-x) )
    And then we take another term:

    Code:
    1 - 0.9999... = lim[Z->inf]( (1*10^-1 - 9*10^-2) - Σ[x=3...Z](9*10^-x) )
    1 - 0.9999... = lim[Z->inf]( 1*10^-2 - Σ[x=3...Z](9*10^-x) )
    We repeat this until we get to:
    Code:
    1 - 0.9999... = lim[Z->inf]( 1*10^-(Z-1) - Σ[x=Z...Z](9*10^-x) )
    1 - 0.9999... = lim[Z->inf]( 1*10^-(Z-1) - 9*10^-Z )
    1 - 0.9999... = lim[Z->inf]( 1*10^-Z )
    As said before, that limit is 0! So:
    Code:
    1 - 0.9999... = 0
    1 = 0.9999...
    If you still disagree with something, let me know.


    Edit: Okay so you already agreed on it by the time I finished writing it... See that it's the same thing I did before except being too lazy to find out how to use the sigma symbol in here.
    Last edited by EVOEx; 03-06-2011 at 03:42 PM.

  13. #163
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I was reading on ancient Greeks today (Tolerance Day over here). It's a recurring point of interest to me. I find certain aspects of their culture the pinnacle of civilization and it's been a downward slope since On many other areas though they were barbaric for sure...

    Anyways, I was reminded of the Socratic Problem. In it there's a clear need to reject/replace realism (truth, fact, evidence) for consistency. In no other way would it be possible to write the history of a man that for most modern purposes would have never existed.

    It instantly stroke a chord with our debate here. "0.999... = 1" is an unprovable axiom in my view. It can however be demonstrated as being consistent within R. That's the nature of all "proofs" we have seen here, and likewise we will ever see; they are demonstrations of the requirement, not rigorous, undeniable and unquestionable proofs. "0.999... = 1" is accepted for its consistency with any remaining R axioms.

    In essence a concept that also borrows from Socrates' saying (again, Socrates) "I know that I know nothing". The idea that one may not know anything with absolute certainty, but can feel confident about certain things. And that alone should be enough, on adequate circumstances, to develop the thinking and the sciences.

    This is probably me being a boring sap at this point. But if there is one thing that this exciting debate brought to me was that I became more convict of the fact "0.999... = 1" can't be proved in R (hehe, I know that must feel frustrating to those of you who tried to tell me I'm wrong). However it also taught me the nature of the axiom and to not flat-out deny it as I used to do. For some this could be a paradox. For me, I feel confident living in a world where something may not be proven but be accepted simply on the value of its consistency.
    Last edited by Mario F.; 03-07-2011 at 11:20 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  14. #164
    Programming Wraith GReaper's Avatar
    Join Date
    Apr 2009
    Location
    Greece
    Posts
    2,739
    I fill proud when thinking about what our ancestors did, but sick when thinking what we have become!...
    Don't you think for a moment that "going far below the bottom" was by chance! They call it "Globalization". I call it "Mind Slavery" to bring "Complete Control".
    Devoted my life to programming...

  15. #165
    S Sang-drax's Avatar
    Join Date
    May 2002
    Location
    Göteborg, Sweden
    Posts
    2,072
    Quote Originally Posted by Mario F. View Post
    It instantly stroke a chord with our debate here. "0.999... = 1" is an unprovable axiom in my view. It can however be demonstrated as being consistent within R.
    Your view is correct. 0.999... is by definition (or: unprovable axiom) equal to lim(n->oo)sum(k=1...N) 9/10^(-k).

    I'd be interested in such a demonstration, however. What did you have in mind?
    Last edited by Sang-drax; 03-07-2011 at 05:52 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. left shifting signed quantity
    By BEN10 in forum C Programming
    Replies: 6
    Last Post: 04-01-2009, 07:39 AM
  2. "Magos is an unknown quantity at this point"
    By Magos in forum A Brief History of Cprogramming.com
    Replies: 36
    Last Post: 04-30-2004, 11:27 AM
  3. Trivial Trigonometry Question, Need Help Understanding Concept
    By SourceCode in forum A Brief History of Cprogramming.com
    Replies: 3
    Last Post: 12-14-2003, 05:50 PM
  4. help !!concept of class templates
    By sanju in forum C++ Programming
    Replies: 1
    Last Post: 03-20-2003, 09:12 AM
  5. linkedlist concept please!
    By SAMSAM in forum C Programming
    Replies: 3
    Last Post: 03-15-2003, 01:50 PM