Skip Navigation

You're viewing part of a thread.

Show Context
238 comments
  • Decimals require you to check the end of the number to see if you can round up, but there never will be an end.

    The character sequence "0.999..." is finite and you know you can round up because you've got those three dots at the end. I agree that decimals are a shit representation to formalise rational numbers in but it's not like using them causes infinite loops. Unless you insist on writing them, that is. You can compute with infinities just fine as long as you keep them symbolic.

    That only breaks down with the reals where equality is fundamentally incomputable. Equality of the rationals and approximate equality of reals is perfectly computable though, the latter meaning that you can get equality to arbitrary, but not actually infinite, precision. You can specify a number of digits you want, you can say "don't take longer than ten seconds to compute", any kind of bound. Once the precision goes down to plank lengths I think any reasonable engineer would build a bridge with it.

    ...sometimes I do think that all those formalists with all those fancy rules about fancy limits are actually way more confused about infinity than freshman CS students.

    • Eh, if you need special rules for 0.999... because the special rules for all other repeating decimals failed, I think we should just accept that the system doesn't work here. We can keep using the workaround, but stop telling people they're wrong for using the system correctly.

      The deeper understanding of numbers where 0.999... = 1 is obvious needs a foundation of much more advanced math than just decimals, at which point decimals stop being a system and are just a quirky representation.

      Saying decimals are a perfect system is the issue I have here, and I don't think this will go away any time soon. Mathematicians like to speak in absolutely terms where everything is either perfect or discarded, yet decimals seem to be too simple and basal to get that treatment. No one seems to be willing to admit the limitations of the system.

      • Noone in the right state of mind uses decimals as a formalisation of numbers, or as a representation when doing arithmetic.

        But the way I learned decimal division and multiplication in primary school actually supported periods. Spotting whether the thing will repeat forever can be done in finite time. Constant time, actually.

        The deeper understanding of numbers where 0.999… = 1 is obvious needs a foundation of much more advanced math than just decimals

        No. If you can accept that 1/3 is 0.333... then you can multiply both sides by three and accept that 1 is 0.99999.... Primary school kids understand that. It's a bit odd but a necessary consequence if you restrict your notation from supporting an arbitrary division to only divisions by ten. And that doesn't make decimal notation worse than rational notation, or better, it makes it different, rational notation has its own issues like also not having unique forms (2/6 = 1/3) and comparisons (larger/smaller) not being obvious. Various arithmetic on them is also more complicated.

        The real take-away is that depending on what you do, one is more convenient than the other. And that's literally all that notation is judged by in maths: Is it convenient, or not.

        • I never commented on the convenience or usefulness of any method, just tried to explain why so many people get stuck on 0.999... = 1 and are so recalcitrant about it.

          If you can accept that 1/3 is 0.333... then you can multiply both sides by three and accept that 1 is 0.99999....

          This is a workaround of the decimal flaw using algebraic logic. Trying to hold both systems as fully correct leads to a conflic, and reiterating the algebraic logic (or any other proof) is just restating the problem.

          The problem goes away easily once we understand the limits of the decimal system, but we need to state that the system is limited! Otherwise we get conflicting answers and nothing makes sense.

          • The problem goes away easily once we understand the limits of the decimal system, but we need to state that the system is limited!

            But the system is not limited: It has a representation for any rational number. Subjectively you may consider it inelegant, you may consider its use in some area inconvenient, but it is formally correct and complete.

            I bet there's systems where rational numbers have unique representations (never looked into it), and I also bet that they're awkward AF to use in practice.

            This is a workaround of the decimal flaw using algebraic logic.

            The representation has to reflect algebraic logic, otherwise it would indeed be flawed. It's the algebraic relationships that are primary to numbers, not the way in which you happen to put numbers onto paper.

            And, honestly, if you can accept that 1/3 == 2/6, what's so surprising about decimal notation having more than one valid representation for one and the same number? If we want our results to look "clean" with rational notation we have to normalise the fraction from 2/6 to 1/3, and if we want them to look "clean" with decimal notation we, well, have to normalise the notation, from 0.999... to 1. Exact same issue in a different system, and noone complains about.

            • Decimals work fine to represent numbers, it's the decimal system of computing numbers that is flawed. The "carry the 1" system if you prefer. It's how we're taught to add/subtract/multiply/divide numbers first, before we learn algebra and limits.

              This is the flawed system, there is no method by which 0.999... can become 1 in here. All the logic for that is algebraic or better.

              My issue isn't with 0.999... = 1, nor is it with the inelegance of having multiple represetations of some numbers. My issue lies entirely with people who use algebraic or better logic to fight an elementary arithmetic issue.

              People are using the systems they were taught, and those systems are giving an incorrect answer. Instead of telling those people they're wrong, focus on the flaws of the tools they're using.

              • This is the flawed system, there is no method by which 0.999… can become 1 in here.

                Of course there is a method. You might not have been taught in school but you should blame your teachers for that, and noone else. The rule is simple: If you have a nine as repeating decimal, replace it with a zero and increment the digit before that.

                That's it. That's literally all there is to it.

                My issue lies entirely with people who use algebraic or better logic to fight an elementary arithmetic issue.

                It's not any more of an arithmetic issue than 2/6 == 1/3: As I already said, you need an additional normalisation step. The fundamental issue is that rational numbers do not have unique representations in the systems we're using.

                And, in fact, normalisation in decimal representation is way easier, as the only case to worry about is indeed the repeating nine. All other representations are unique while in the fractional system, all numbers have infinitely many representations.

                Instead of telling those people they’re wrong, focus on the flaws of the tools they’re using.

                Maths teachers are constantly wrong about everything. Especially in the US which single-handedly gave us the abomination that is PEMDAS.

                Instead of blaming mathematicians for talking axiomatically, you should blame teachers for not teaching axiomatic thinking, of teaching procedure instead of laws and why particular sets of laws make sense.

                That method I described to get rid of the nines is not mathematical insight. It teaches you nothing. You're not an ALU, you're capable of so much more than that, capable of deeper understanding that rote rule application. Don't sell yourself short.


                EDIT: Bijective base-10 might be something you want to look at. Also, I was wrong, there's way more non-unique representations: 0002 is the same as 2. Damn obvious, that's why it's so easy to overlook. Dunno whether it easily extends to fractions can't be bothered to think right now.

              • those systems are giving an incorrect answer

                When there's an incorrect answer it's because the user has made a mistake.

                Instead of telling those people they’re wrong

                They were wrong, and I told them where they went wrong (did something to one side of the equation and not the other).

                • The system I'm talking about is elementary decimal notation and basic arithmetic. Carry the 1 and all that. Equations and algebra are more advanced and not taught yet.

                  There is no method by which basic arithmetic and decimal notation can turn 0.999... into 1. All of the carry methods require starting at the smallest digit, and repeating decimals have no smallest digit.

                  If someone uses these systems as they were taught, they will get told they're wrong for doing so. If we focus on that person being wrong, then they're more likely to give up on math entirely, because they're wrong for doing as they were taught. If we focus on the limitstions of that system, then they have the explanation for the error, and an understanding of why the more complicated system is preferable.

                  All models are wrong, but some are useful.

                  • not taught yet

                    What do you mean not taught yet? There's nothing in the meme to indicate this is a primary school problem. In fact it explicitly has a picture of an adult, so high school Maths is absolutely on the table.

                    There is no method by which basic arithmetic and decimal notation can turn 0.999… into 1.

                    In high school we teach that they are the same thing. i.e. limits of accuracy, 1 isn't the same thing as 1.000..., but rather 1+/- some limit of accuracy (usually 1/2). Of course in programming it matters if you're talking about an integer 1 or a floating point 1.

                    If someone uses these systems as they were taught, they will get told they’re wrong for doing so

                    The only people I've seen get things wrong is people not using the systems correctly (such as the alleged "proof" in this thread, which broke several rules of Maths and as such didn't prove anything), and it's a teacher's job to point out how to use them correctly.

                    • What do you mean not taught yet?

                      I mean those more advanced methods are taught after basic arithmetic. There are plenty of adults that operate primarily with 5th grade math, and a scary number of them do finances...

                      limits of accuracy

                      This isn't about limits of accuracy, we're working with abstract values and ideal systems. Any inaccuracies must be introduced by those systems.

                      If you think the system isn't at fault here, please show me how basic arithmetic can make 0.999... into 1. Show me how the carry method deals with Infinity correctly. If every error is just using the system incorrectly, then a correct use of the system must be applicable to everything, right? You shouldn't need a new system like algebra to be correct, right?

                      • This isn’t about limits of accuracy

                        According to who? Where does it say what it's about? It doesn't.

                        please show me how basic arithmetic can make 0.999

                        You still haven't shown why you're limiting yourself to basic arithmetic. There isn't anything at all in the meme to indicate it's about basic arithmetic only. It's just some Maths statements with no context given.

                        then a correct use of the system must be applicable to everything, right?

                        Different systems for different applications. Sometimes multiple systems for one problem (e.g. proofs).

                        You shouldn’t need a new system like algebra to be correct, right?

                        Limits of accuracy isn't algebra.

      • The system works perfectly, it just looks wonky in base 10. In base 3 0.333... looks like 0.1, exactly 0.1

        • Oh the fundamental math works fine, it's the imperfect representation that is infinite decimals that is flawed. Every base has at least one.

You've viewed 238 comments.