• barsoap@lemm.ee
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    2
    ·
    edit-2
    5 months ago

    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.

    • Tlaloc_Temporal@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      4
      ·
      5 months ago

      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.

      • barsoap@lemm.ee
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        edit-2
        5 months ago

        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.

        • Tlaloc_Temporal@lemmy.ca
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          5 months ago

          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.

          • barsoap@lemm.ee
            link
            fedilink
            English
            arrow-up
            3
            ·
            5 months ago

            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.

            • Tlaloc_Temporal@lemmy.ca
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              5 months ago

              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.

              • barsoap@lemm.ee
                link
                fedilink
                English
                arrow-up
                3
                arrow-down
                1
                ·
                edit-2
                5 months ago

                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.

                • Tlaloc_Temporal@lemmy.ca
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  arrow-down
                  1
                  ·
                  edit-2
                  5 months ago

                  I don’t really care how many representations a number has, so long as those representations make sense. 2 = 02 = 2.0 = 1+1 = -1+3 = 8/4 = 2x/x. That’s all fine, we can use the basic rules of decimal notation to understand the first three, basic arithmetic to understand the next three, and basic algebra for the last one.

                  0.999… = 1 requires more advanced algebra in a pointed argument, or limits and infinite series to resolve, as well as disagreeing with the result of basic decimal notation. It’s steeped in misdirection and illusion like a magic trick or a phishing email.

                  I’m not blaming mathematicians for this, I am blaming teachers (and popular culture) for teaching that tools are inflexible, instead of the limits of those systems.

                  In this whole thread, I have never disagreed with the math, only it’s systematic perception, yet I have several people auguing about the math with me. It’s as if all math must be regarded as infinitely perfect, and any unbelievers must be cast out to the pyre of harsh correction. It’s the dogmatic rejection I take issue with.

                  • barsoap@lemm.ee
                    link
                    fedilink
                    English
                    arrow-up
                    2
                    arrow-down
                    2
                    ·
                    5 months ago

                    0.999… = 1 requires more advanced algebra in a pointed argument,

                    You’re used to one but not the other. You convinced yourself that because one is new or unacquainted it is hard, while the rest is not. The rule I mentioned Is certainly easier that 2x/x that’s actual algebra right there.

                    It’s as if all math must be regarded as infinitely perfect, and any unbelievers must be cast out to the pyre of harsh correction

                    Why, yes. I totally can see your point about decimal notation being awkward in places though I doubt there’s a notation that isn’t, in some area or the other, awkward, and decimal is good enough. We’re also used to it, that plays a big role in whether something is judged convenient.

                    On the other hand 0.9999… must be equal to 1. Because otherwise the system would be wrong: For the system to be acceptable, for it to be infinitely perfect in its consistency with everything else, it must work like that.

                    And that’s what everyone’s saying when they’re throwing “1/3 = 0.333… now multiply both by three” at you: That 1 = 0.9999… is necessary. That it must be that way. And because it must be like that, it is like that. Because the integrity of the system trumps your own understanding of what the rules of decimal notation are, it trumps your maths teacher, it trumps all the Fields medallists. That integrity is primal, it’s always semantics first, then figure out some syntax to support it (unless you’re into substructural logics, different topic). It’s why you see mathematicians use the term “abuse of notation” but never “abuse of semantics”.

              • 💡𝚂𝗆𝖺𝗋𝗍𝗆𝖺𝗇 𝙰𝗉𝗉𝗌📱@programming.dev
                cake
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                1
                ·
                5 months ago

                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).

                • Tlaloc_Temporal@lemmy.ca
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  arrow-down
                  2
                  ·
                  5 months ago

                  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.

                  • 💡𝚂𝗆𝖺𝗋𝗍𝗆𝖺𝗇 𝙰𝗉𝗉𝗌📱@programming.dev
                    cake
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    arrow-down
                    1
                    ·
                    5 months ago

                    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.

      • apolo399@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months ago

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

        • Tlaloc_Temporal@lemmy.ca
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          5 months ago

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