3 ms·
Thanks again for responding. You gave me a lot to think about. It seems like there isn’t much daylight between our positions, and in any case I’m sure nobody el
by _05hb 2y ago
Thanks again for responding. You gave me a lot to think about. It seems like there isn’t much daylight between our positions, and in any case I’m sure nobody else is reading, so I’ll wrap it up here for any future spelunkers.
I think I’m on solid ground asserting that it’s common knowledge that most proofs have errors. The reason is that professional mathematicians tell us so. Here’s Terry Tao: https://terrytao.wordpress.com/advice-on-writing-papers/proofread-and-double-check-your-paper-before-submission/ https://terrytao.wordpress.com/advice-on-writing-papers/proo.... Notice how Tao acknowledges that papers “full of errors” are sometimes not corrected before publication. What does that mean for proofs which have only one minor error, and referees less exacting than Terry Tao?
Chapter 7 of Simon Singh’s book on Fermat’s Last Theorem is also illustrative (Singh liberally quotes from his sources directly so there is no question about what the mathematicians thought). After Wiles submitted his manuscript to Inventiones Mathematicae, the referees began finding mistakes almost immediately and were in constant communication with Wiles to get them corrected. Wiles worked on his proof for seven years; nobody thought there was anything wrong with his manuscript having a lot of errors. How probable is it that we found every error in the Wiles proof?
Here’s a good MathOverflow question on the topic: https://mathoverflow.net/questions/338607/why-doesnt-mathematics-collapse-even-though-humans-quite-often-make-mistakes-in https://mathoverflow.net/questions/338607/why-doesnt-mathema.... Lots of good responses, and links. What stands out to me is that none of the top answers say “that’s just not true.” Instead those answers about why math proofs “work” even though they’re not completely, rigorously, “correct.”
My big point is that in math, some mistakes are trivial, and others are serious. The job of determining which is which is a job for humans — as you point out! — because it’s a topic for conference talks. But in programming, humans don’t decide how serious a mistake is — the computer does, by what it does. Typo in a code comment? No worries. Typo in a variable name? Broken program. If you abbreviate Norway to NOR in your YAML file, that’s cool. Abbreviate it to NO, and there goes your afternoon (because YAML translates NO to false). It’s the capriciousness, not the difficulty, that separates how people learn the two fields.
Debuggers, code review, and testing environments are primarily professional tools — they aren’t used by learners. By the time a learner of programming gets those tools, the damage is already done; they’re already weirdos, conditioned to accept the output of the computer no matter how capricious, and rewrite their code however it takes to get their programs to work, even if it doesn’t “make sense.”
> I'm sure if you even have an example of such not-fixed-error, you have absolutely no idea how it was treated later by the scientific community.
I don’t know what you’re trying to assert. I’m part of the scientific community. Yes, I’ve written code based on proofs that turned out to have flaws, and then I went and updated the code. The most fun one to talk about would be this one from 2006: https://research.google/blog/extra-extra-read-all-about-it-nearly-all-binary-searches-and-mergesorts-are-broken/ https://research.google/blog/extra-extra-read-all-about-it-n...
Anyway thanks again for reading. I had a lot of fun writing up these comments & reading what folks and had to say.
- cauch 2y agoYour initial claim is that learning math is more "people oriented" because you can discuss with the professor and "errors" in math are subjective, while learning coding is more "thing oriented" because the debugger will blankly return yes or no. But now, you are providing article that show that math is not a matter of convincing people. In Terry Tao's article, he does not say: there are what I think is error but it's subjective, he says: there are errors, it's a fact, the article does not pass my "compiler". Same with Singh and MathOverflow: in both cases, the existence of errors is not subjective: when an error is discovered, they are demonstrated, and they exist or not. You also point to something interesting: there is a lot of undiscovered errors. In this aspect, it's difficult to claim that it is not WORSE in computer science, where bugs and vulnerabilities are discovered YEARS after the software was released, and that we are pretty sure there are plenty of bugs not discovered yet. The compiler will sometimes crash or complain if there is a logic inconsistency. That's exactly the same with math. All your articles and examples are example of bugs that exist despite the math compiler, the same way tons of bugs still exist after the code has been successfully compiled. The example of "NO" and "NOR" is pretty good, because despite what you say, developers continue to make such mistake. This example is a type mistake, and you have EXACTLY the same mistake in math if you name 2 different unknowns representing different "type" (for example one is a scalar and one is a function) with the same symbol. What happens is that your equations "do not compile" really early and you discover it yourself quite fast. > I don’t know what you’re trying to assert. Well, the examples that you gave demonstrate that you are wrong. You were pretending that errors in math are subjective, they are a people-oriented subject and you can convince the professor it's correct even if it is not. All you have presented demonstrate this is not true. I know it's difficult for you, you really want that computer science is somehow magically less people-oriented than math. It's cognitive dissonance, it's needed for you because you cannot accept that some data does not fit with your model "there is less women in computer science because there is always less women when it's less people-oriented" (the data in question is that another very similar field, as less people-oriented, is having a statistically significant different proportion of women, so it shows there is at least something more at play here). It would be so convenient to explain that the cultural problem in computer science communities and mentality are just "natural" and "explained" rather than something that could have been avoided. But that is just not the case. (edit: the last link you provide is also quite revealing, with sentences like: "I was shocked to learn that the binary search program that Bentley proved correct and subsequently tested in Chapter 5 of Programming Pearls contains a bug. Once I tell you what it is, you will understand why it escaped detection for two decades.". They are not talking about a mathematical error: the mathematical logic is correct. They are talking about the fact that it fails if the sum value is higher than (2^32-1). I thought you were saying that computer science is different than math because the compiler would have said "no". What I see is that computer science and math are very similar: some errors don't pass the basic tests, and some errors pass the basic tests)