|
As a mathematician who’s only recently started to get into computation and programming, I think the difference between my thought patterns when switching hats is so fascinating. I was so accustomed to hearing that mathematics is nothing if not rigorous, but the more I reflect, mathematics is much more dependent on social convention and agreement amongst a community. While an outsider might think that proofs rigorously establish theorems, the purpose of a proof might be better seen as having enough detail to convince a substantial portion of the prominent mathematicians in a field that the proof is correct. In fact, there are theorems (e.g. the ABC conjecture) where a “proof” has been proposed, but not enough mathematicians have expertise with the techniques used to prove it in order to agree whether the proof is sufficient or not (though I’ve heard that the general opinion is that the proof does not suffice). William Thurston wrote one of my favorite essays related to this topic: https://www.math.toronto.edu/mccann/199/thurston.pdf Reflecting on my own experience in mathematics, a better way to think of proofs is as being composed of “thought patterns” which many mathematicians agree are likely to be correct - when I scan a proof, I don’t look through every detail to verify that it is correct, but rather run it through a series of high level tests to see if it fails in any way, then if it passes all of those I look more closely at the argument and analyze the structure and mathematical power of each statement (e.g. one is unlikely to establish a hard analytic result through purely algebraic means, so where is the magic going on?) and so on until I’ve convinced myself that the argument is probably true. Other times, the result may be “visually apparent” (e.g. in geometry) at which point it might be sufficient for me to just to connect certain canonical arguments with the pictures as I read through the proof. For an excellent overview of this process, read Terry Tao’s blog on identifying errors in proofs : https://terrytao.wordpress.com/advice-on-writing-papers/on-l.... I don’t feel as confident commenting on the programming/computational perspective, as I’ve probably developed a very idiosyncratic way of thinking from approaching the topic so late in my education, but my feeling is that they are much different, and that the types of things a mathematician wants to convey to another mathematician rely much more on “trust” rather than the kind of rigor that might be needed by a computer. I think this would be an interesting topic to explore in longer form. |