There's a few books on how to approach books and problems, e.g. don't strain on first seeing new material. Lara Alcock wrote 2 books on studying math which seem to have the same ToC, a lot of undergrad programs have materials on proofs and how to transition from high school problem solving: http://web.archive.org/web/20150319020039/http://www.maths.c...
It would be remiss to not mention the well-curated list by Gerard 't Hooft [1999 Nobel Laureate in Physics]. A lot of books on the list, but also a lot of links to freely available lecture notes or online books as well.
As someone who struggled with math and hated it in high school and now loves it but still struggles with it I got a lot out of this article. It brought to mind this EdX course: "Effective Thinking Through Mathematics"[0] which I also found valuable.
Has anyone read the author's book[1] and can recommend it (or not)? It only has 2 reviews, a 5-star and a 3-star and the latter review is not helpful.
If you haven't heard of Shai Simonson I suggest checking out his ArsDigita University[0] lectures[1] (from which I studied Theory of Computation[2] back in late 2011).
He's a superb lecturer, and I owe him a debt of gratitude for his recorded classes.
Can vouch on his lecture skills as well, he was a visiting professor at UIC and taught my intro to combinatorics class. He was also very funny, his frequent stories would always make the class laugh.
The most amusing part about him was that he wore those tight biking shorts and shoes while he taught.
Here's an audio clip of Shai introducing Richard Stallman at a talk where Stallman gets pretty annoyed[0]
I like this quote I found in a mathematical analysis book:
"It is an unfortunate fact that proofs can be very misleading. Proofs exist to establish once and for all, according to very high standards, that certain mathematical statements are irrefutable facts. What is unfortunate about this is that a proof, in spite of the fact that it is perfectly correct, does not in any way have to be enlightening. Thus, mathematicians, and mathematics students, are faced with two problems: the generation of proofs, and the generation of internal enlightenment. To understand a theorem requires enlightenment. If one has enlightenment, one knows in one's soul why a particular theorem must be true."
Could you say a few more words about this book? It looks interesting, but I can't find a table of contents or a review of it. Is it intended for advanced mathematics, or can it be useful for basic math too?
This is not possible, at least not without a very sophisticated AI.
One thing that novices seem to not get about mathematics, especially those coming from programming languages, is that the syntax of mathematical formulae is not divorced from the natural language that surrounds it. Different authors use different symbols for the same concept or the same symbol with different meanings. That is, mathematical symbols have synonyms and homonyms, so to speak. You can read someone's "accent" when reading mathematics. The French consider 0 to be a positive number; the Americans don't. The Russians call it the Bunyakovsky inequality, most of Western Europe and America calls it the Schwarz or Cauchy-Schwarz inequality. The way they arrange their equations, the particular details of the notation, their preferred term for a particular concept, even tiny things like preferring upright or slant font for dx in an integral (and by the way, often fonts carry semantic meaning, but not in this case); all of these vary from author to author.
Mathematics is a very human activity. It is written by humans who write ambiguous things because it's meant to be read by humans who deal well with ambiguity. Reading human-written mathematics cannot be mechanised, at least, not anymore than reading a natural language can be mechanised.
Its worse than just notational differences (which probably could be solved good-enough with crowdsourcing).
The bigger problem is that there is often not a simple English description for math terms, whose meaning might involve understanding concepts that take books to explain.
For example, consider the simple sentence "Let x be an arbitrary vector". What is a vector? There is no clear answer to this question. Formally speaking a vector is simply an element of the set V where V is the underlying set for some vector space. You could try to say that V is an ordered pair of n real numbers, which is true up to isomorphism for finite dimensional vector spaces over the real numbers. But, x could also be the function f(x)=x^2, or the matrix [3, 4; 7, 1+i]. In some contexts, the translator might be able to tell from context what vector space is being worked in. But if the source is a general statement about vector spaces (even if made in support of a more concrete point), there is no way to explain it without explaining the concept of a vector space. To explain vector spaces one would need to, at a minimum, explain fields.
There is also a question of which description to use. For example, suppose we needed to define complex numbers. In some contexts, it is most natural to think of them as points on the xy-plane, which is simple enough (although does not give intuition above what multiplication means, which is arguably an essential component of the "true" meaning of complex numbers). In other contexts, it is more natural to think of them as matrices of the form [a -b; b a]. Attempting to show all the (equivelent) meanings would likely overwhelm the intended user of the service.
It would certainly be possible if mathematics standardised on writing proofs in a proof assistant like Coq. Then anyone with a basic functional programming background could understand the most complex of proofs, given enough time to step through and understand all steps of the proof in the Coq IDE.
Most mathematical proofs translate quite badly to formal languages. Their formulation often relies strongly on the peculiarities of language.
Consider the "it's easy to see that" from the article. There is no translation of that into a formal language beyond either introducing the claim as an axiom, or actually providing the proof. It also means that every usage of a well known theorem needs to be explicitly mentioned.
The end result would be an incredibly verbose proofs. Moreover, the verbosity of the proof wouldn't relate very well to the complexity of the idea behind the proof. This might bloat rather simple or elegant proofs, and us mathematicians really like our elegant proofs.
Put another way, this would require writing down a lot more than the epiphany that lead to the proof.
In general, it might be nice to somehow make proofs more tree-like rather than linear. That is, show the proof from the highest level, and allow a reader to 'expand' the claims to see their proofs. Down to the 'leaves' which are considered obvious.
You would be trying to reverse a couple millenia of mathematical tradition if you wanted to convince all mathematicians to only write machine-readable mathematics. As appealing as the idea may sound to computer people, mathematicians would find it quite repugnant if they were no longer "allowed" to write mathematics in a casual style (as if it were even possible to forbid them from doing so).
That would also require re-doing all of mathematics in a constructive setting, which is a great idea as far as constructivists are concerned but it has both political and technical opposition. It's also the case that a proof in Coq doesn't have to be enlightening, especially if you discharge it with some inscrutable hammer-like custom-written pile of LTAC.
I think your conflating math as all-descriptive of all properties. It's unfortunately not. Mathematics describes patterns, not procedures. You started thinking in code, because you started thinking about problems as procedures, not patterns.
I guess how to read mathematics depends strongly on the context or the subfield you are looking into.
A simple example: a superscript can mean exponentiation or an index.
Also, sometimes it is preferred to leave out symbols that occur often, to avoid clutter. One example is dropping the sigmas out of equations, and infer they exist by looking at indices.
I thought this was going to be about how to read Mathematics aloud, e.g. to describe it over the telephone. It seems that even something as common as $f : a \rightarrow b$ might be spoken aloud in different ways.
This is in fact somewhat of a real problem. Mathematics is kind of meant to be learned while interacting other humans, not in pure cold isolation. A lot of what you absorb with other humans is how to pronounce things. A simple example for example is learning to pronounce binomial coefficients as "5 choose 2" or knowing that ŷ is pronounced "y hat".
Something kind of similar happens in hackerdom, where you may learn to pronounce "/etc" as "slash etsy" or "!" as "bang".
I totally agree with you! Learning the language of mathematics, specifically spoken in this case, is an important part in learning mathematics. I think it is really important to discuss proofs and ideas with your friends because of this.
Another problem is that most of the literature and the lectures are in English but you often discuss in another language. So you have to both do the translation from written to spoken mathematics and the translation from English to, in my case, Swedish. This easily leads to half translated English words but I try to avoid that as much as possible.
Mathoverflow and math.stackexchange soft-questions tag has lots of mini-essays, e.g. https://mathoverflow.net/questions/143309/how-do-you-not-for...
and https://math.stackexchange.com/questions/617625/on-familiari...
____________________
For proofs, books by Polya, Velleman, Hammack etc
Prof Baez' reading lists for math and physics: http://math.ucr.edu/home/baez/books.html