Hacker News new | past | comments | ask | show | jobs | submit login
Common False Beliefs in Mathematics (mathoverflow.net)
78 points by mahipal on June 6, 2010 | hide | past | favorite | 46 comments



Math people seem a lot more interested in math than programmers are in programming. If you asked the same question on SO, the popular answers would be a list of things like "programmers don't deserve big monitors" or "the client is always right" or other such bullshit. (Nothing actually about programming, only about "the profession").

Maybe this is why nobody ever calls mathematicians "number monkeys".


I would not agree with you, and I think you can't compare programming and math in this regard. The "beliefs" they are talking about are rather trivial: strictly formal abstract logical statements which look very hard from intuitive point of view, but they are relatively easy to construct and relatively easy to disprove (provide a counterexample for). An attempt to base your work on one would instantly lead to an error in a proof, which will be found upon review.

On the other hand, programming is actually a branch of engineering, a much less formal discipline. TIMTOWTDI, and not just in Perl. Everything in programming is subjective. Results of programmer's work aren't simply "correct" or "erroneous". Basing your work on a "false belief" will just require spending more effort on it, or lead to a lower quality product.

You can imagine an objective false belief, but it would be some kind of triviality, like wrong understanding of initialization order for base classes in C++, or behavior of modulus operator for negative numbers. Nobody is discussing this kind of stuff with any grandeur.

edit: tl;dr: in math it may be hard to understand whether you're objectively wrong. In programming it is usually as trivial as a compile-time or runtime error, so programmers will usually discuss subjective issues.


In programming it is usually as trivial as a compile-time or runtime error, so programmers will usually discuss subjective issues.

But if you look at the SO threads, the subjective issues aren't related to programming, they are mostly related to sitting at a desk or working for other people. That has as much to do with programming as telescopes have to do with physics.


Technical hacking communities (like the Chaos Computer Club) seem to be full of people who enjoy aspects of computing in a pure sense. For example, they may hack long-obsolete game consoles, on both hardware and software levels; or sit around on a busy street cracking wireless connections. When asked how useful it is, they shrug like an ideal pure mathematician: it's not about being useful. They delete the creditcard numbers they find, like fishermen throwing back the fish they catch.

(Though many of them hate their day jobs, and even the economic system itself, even if they're well-paid. These certainly aren't going to gush about what they experience during the day.)

I don't know how other people use Stack Overflow, but so far I've only visited when I want a quick answer for technotrivia which isn't particularly mind-expanding. (Like, how to get Gnu Screen to stop doing this, or what Unix incantation does that.) If others do the same, then I can see why there would be less technical fascination and curiosity on display there.


My humble opinion is that software is not science, but a creative solutions profession more akin to architecture or writing. It's a mystery to me why so many programmers seem to be ashamed of that.

I don't see architects spending their time being envious of mathematicians. "If only we could construct buildings out of closed functions on a plane of pure ideology, where no humans would interfere..."


brilliant comment. my new favorite quote -- right after "existence is stateful".



when you remove all of the bullshit from programming, you just end up with math again.


Although computer science was formerly a part of mathematics, it has become a profession of its own right. Of course there are still strong connections on many levels. But there is a lot in mathematics which is (currently) completely uninteresting for computer science, and vice versa.

In particular, there is part of computer science which has nothing to do with mathematics, and which a mathematician would always attribute to computer science rather than mathematics.

And that part is call "programming".

So I disagree. Sole programing without bullshit and without mathematics is still a profession of its own right.


I'm really not sure I agree; programming is necessarily an engineering discipline and by nature requires a far looser, fuzzier approach than maths; though there is of course a mathematical foundation to modern computers (the Turing Machine is named after a mathematician, after all), in general the highly formal essentially mathematical approach is something a programmer rarely has use for, though formal proofs of correctness are certainly useful in some areas of programming (and perhaps in the future will apply to far more.)

Ultimately we program for people rather than machines, I hardly think you can describe readability, maintainability and elegance as bullshit. You can just as well program a correct algorithm with one-letter variable names and horrible nested gotos, but I'm sure the guy who has to maintain that will hardly describe the difficulties with understanding and maintaining the code as bullshit.


yes, but that would not be enough to do something useful [yet, and less so with lisp]

Theres lots of housekeeping [~bs] in programming, maybe some in math too.


Most of "the profession" of programming, time- and effort-wise, consists of tasks orthogonal to programming itself. And, as any programmer knows, when optimizing, you should first go after the low-hanging fruit. Actual mistakes made due to misconceptions while programming are much further down the list than "the client is always right", because they have far fewer consequences and can be repaired much more quickly.


True, but I don't think Math Overflow and SO are really equivalent: most of the Math Overflow participants are academics; if you asked the same question on a SO for academic computer scientists I think you'd get similar results, especially if you restricted the answers to universal truths, rather than things which may or may not be true at some point in time, or under some conditions. (i.e. Apache is a better web server than nginx is not a universal truth, and neither is OO is better than procedural, etc.)


But doesn't that highlight a fundamental difference between mathematics and programming, in that the majority of programmers out there are working on problems using programming as a tool, whereas the majority of mathematicians work on maths itself?

I don't mean to disparage either craft, mathematics is a wonderful thing, and of course the applications are enormous and vital to science and engineering, however the majority of work is not applied.

Additionally there is some truth in this, in that the majority of working programmers are 9-5ers who have no passion for programming, whereas maths work is difficult to get into and not necessarily as well paid as other professions so those who work in it are necessarily more passionate.


May be it's because programmers are slightly more in touch with reality? :-)


Well, there's not really any mathematical field comparable to software engineering. A better comparison to math would be theoretical CS, in which case I think you'd get things like "the conflation of NP-hardness with NP-completeness".


Commonly held but incorrect beliefs about programming don't exist because we're not all taught it at school from ages 5 to 18.


I see you didn't read any of the stuff on mathoverflow. I'm a first year maths student and already the second example was a belief I held :P


I think you misread my post or I misread yours. I'm saying we have lots of incorrect maths in our brains because we were actually taught maths. It's hard for programming to have commonly misheld assumptions because it's not commonly taught.


That site is crazy. Every time I open it I feel like a complete idiot. I took a decent amount of math in college but I don't know most of the words they use.


If you just mean you took math courses as an undergraduate, then you should not at all feel like an idiot for not understanding what goes on at MO. The site is for "research-level math questions", as their FAQ says. My guess is that even, say, most PhD students tend to understand only the questions in areas of math they are familiar with.


Yeah. Don't feel bad. I have a graduate degree in pure math, and my comprehension level is only about 30%.

Math is an extremely fractured field at a high level. And so much of it requires getting your head around new and difficult concepts, you can't translate between subfields well.

Someone who speaks fluent Java stands a decent chance of decoding reasonably compex C++ or Ruby or whatever. I mean, some languages are way, way out there, but once you've been around the block a couple times, it's all just code.

Not so in math. A professional geometer talking to someone who does PDEs or complex analysis or topology . . . they have nothing in common. And it would take any of them years of study to close the gap.


I wonder if this is how non-programmers feel reading Stack Overflow.


Non-programmers know that they're not supposed to understand programming. People who've taken a reasonable number of math classes tend to feel like they should know more than a tiny fraction of the math that's out there, even if this expectation is unreasonable.


I know I found it pretty depressing the first time I realized that after taking fourteen or so years of math classes I'd never really made it past Advanced Arithmetic.


That would be symmetric, but no, it's not the case. Most of the SO questions are of a more naive character. ("I got this error message, what do I do?")


MO has become specialized in combinatorics, graph theory, and algebra; if you didn't go deep in these areas you may feel at a loss. But additionally, the level of formality and carefulness in discourse is considerably higher than SO or HN. It's more reminiscent of LTU.


> the level of formality and carefulness in discourse is considerably higher than SO or HN

Well, HN is pre-college kids arguing with those who went to college about whether it was worth it.


That argument sort of answers itself.


What? No, there's also plenty of algebraic geometry, category theory, algebraic topology, etc. Maybe not as often, but you can also find other topics, like differential geometry, set theory and logic, etc. What you feel it specializes in is probably a result of selelctive attention (depending on which questions you look at most), unless of course, you have some statistics to back up your claim (in which case, I'd still say there's enough activity in other fields for it not to matter).


What I like about the thread is that it's a window into another world of geek humor whose countours I'm familiar with (they look a lot like the countours for cs humor) but whose specifics are largely unintelligible to me.

Great read.


I laughed (before I started to think that crying might be more appropriate) when I heard about the false belief that 1 plus the product of the first n primes is always a prime number. Ouch!


I took 14 hours of calculus in my EE undergrad. Reading posts like this remind me that I really enjoy studying math outside of school. In school, I had to learn so much, so fast, that I couldn't appreciate the beauty, nor take time to ponder the wider implications of what I was learning.

Many times, I have thought about opening my Salas and Hille's Calculus book and just starting over from the beginning. Anyone ever done anything like this? Any opinions on a better starting book for someone in my shoes?


Apostol's Calculus would probably fit your needs. I do not remember its discussing applications at all, unlike the Salas and Hille book according to online descriptions of it. From what you wrote it does not look like you are concerned with that, though.


Thanks for the recommendation. $154 new from Amazon and it was written in 1966. Killer reviews though. Thanks again. http://www.amazon.com/Calculus-Vol-One-Variable-Introduction...


I liked this answer in particular:

"These are actually metamathematical (false) beliefs that many intelligent people have while they are learning mathematics, but usually abandon when their mistake is pointed out, and I am almost certain to draw fire for saying it from those who haven't, together with the reasons for them:

* The results must be stated in complete and utter generality.

* Easy examples are left as an exercise to the reader.

* It is more important to be correct than to be understood.

(Applicable to talks as well as papers.)"


Can someone explain why this one (the top answer) is false:

For vector spaces, dim(U+V)=dimU+dimV−dim(UV), so dim(U+V+W)=dimU+dimV+dimW−dim(UV)−dim(UW)−dim(VW)+dim(UVW)


It is explained in the comments: take three different lines in the plane, and you'll get 2=3.


Perhaps more enlightening is where the proof fails:

dim(U+V) = dimU+dimV−dim(UV)

    dim(U+V+W)
    = dim(U+V)+dim(W) - dim((U+V)W)
    = dim(U)+dim(V)+dim(W) - dim(UV) - dim(UW+VW) <-- bzzt, wrong
    = dim(U)+dim(V)+dim(W) - dim(UV)-dim(UW)-dim(VW) + dim(UVW)
The reason this step fails is that (U+V)W != UW+VW for example UW and VW can both be empty, but (U+V)W is not empty:

    U = {multiples of (1,0)}
    V = {multiples of (0,1)}
Now U+V is the entire space R^2. If we take W={multiples of (1,1)} then VW={0} and UW={0}, but because U+V is the entire space we have (U+V)W = W = {multiples of (1,1)}.


I can't tell you how many times I've had to explain this to confused linear algebra students...

Oh, and A minor correction: you mean "zero" instead of "empty".


Yep, that's right. HN doesn't allow me to edit :(


We could also notice that UW+VW is a subspace of (U+V)W, and therefore the following statement is valid:

dim(U+V+W)<= dim(U)+dim(V)+dim(W) - dim(UV)-dim(UW)-dim(VW) + dim(UVW).

So the result is weakened, but not entirely lost.


About half of the ones that I understand what they mean seem perfectly plausible to me. We need a page that explains why they are false.

For example can someone explain "Every connected component of a topological space is open and closed."

Edit: found it on wikipedia: "The components in general need not be open: the components of the rational numbers, for instance, are the one-point sets."


It never really took off so there isn't much there yet, but for anyone interested in math discussion on a less advanced plane, you might try here http://wiki.lesswrong.com/wiki/Simple_math_of_everything


"The circle is the only figure which has the same width in all directions."

Can someone explain? What exactly do they mean by width and what else has this property?


If you think of the figure as lying in the x-y plane, then its projection onto one of the axes has the same length no matter the orientation of the figure. One nifty example of this is the Reuleaux triangle, which is related to the mechanics of rotary engines.

http://en.wikipedia.org/wiki/Reuleaux_triangle




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: