I always have trouble memorizing theorems. Does anybody have any good tips?

16$\begingroup$ (meta) This question was posted in the first days of MO and has recieved a lot of answers and upvotes. I am sure that this sort of question would get closed if it was posted today ... $\endgroup$ – Martin Brandenburg Aug 10 '11 at 9:10

3$\begingroup$ Meta discussion: tea.mathoverflow.net/discussion/1107/… $\endgroup$ – Thierry Zell Aug 10 '11 at 18:22
As far as possible, you should turn yourself into the kind of person who does not have to remember the theorem in question. To get to that stage, the best way I know is simply to attempt to prove the theorem yourself. If you've tried sufficiently hard at that and got stuck, then have a quick look at the proof  just enough to find out what the point is that you are missing. That should give you an Aha! feeling that will make the step far easier to remember in the future than if you had just passively read it.
I'm teaching a course right now in which many students face these issues for the first time.
I have to care about something to remember it; otherwise I am utterly incapable of memorizing anything. My main method to care about a proof is to want to be convinced of the thing being proved, the way that a trial jury wants to be convinced. If the stated theorem just isn't news to you, ask yourself if you know whether it remains true if you change it slightly. Would the same proof still work?
Example 1: det(AB) = det(A)det(B) for square matrices. It seems completely unreasonable to dismiss a theorem like this as "obvious". If you haven't learned a proof, then the only evidence left is argument by example and argument by authority. Many variations of this equation certainly aren't true, so why is this one true? The goal is to learn the proof well enough to be able to persuade someone else who doesn't believe you.
Example 2: Every fraction is a repeating decimal. This is a familiar fact and we all "know" it. So make a variation to have something more newsworthy to prove. If every a/b must be a repeating decimal, then presumably you can find a bound for when it starts to repeat. For instance, it seems unlikely that 1/29 requires a million digits to start to repeat. Does the proof that a/b must repeat establish a reasonable bound on when?

8$\begingroup$ If you think of det(A) as the amount which volumes are scaled by the transformation A, and you know that matirx multiplication is composition of functions, isn't det(AB) = det(A)det(B) pretty obvious? $\endgroup$ – Steven Gubkin Mar 11 '10 at 20:29

11$\begingroup$ Yes and no. First, the volume argument doesn't tell you the signs. Second and more significantly, how do you define volume in n dimensions in the first place? You need some rudimentary theory of measure or integration in n dimensions, and that isn't really any easier than the fact about determinants. The volume argument is very nice, but it is only "obvious" at a very nonrigorous level. $\endgroup$ – Greg Kuperberg Mar 12 '10 at 7:08

3$\begingroup$ You don't need a full theory of measure or integration to appreciate the relevant basic properties of signed volume of parallelotopes given by n vectors (just that it is alternating multilinear), which is all you need to rigorously define the determinant as "volumescaling" (thus making the composition rule obvious). $\endgroup$ – Sridhar Ramesh Aug 10 '11 at 10:26

3$\begingroup$ (In other words, defining det(A) as the amount by which elements of the top exterior power are scaled by the transformation A) $\endgroup$ – Sridhar Ramesh Aug 13 '11 at 20:14
I appreciate the sentiment that you shouldn't memorize theorems, but I think it goes too far. Some theorems are just not that memorable. You can prove them over and over and they don't stick. And if you use a theorem repeatedly, it's worthwhile to memorize it so that you won't have to interrupt the flow of your thought to look up or derive the result.
Diagrams sometimes help. For example, here's a diagram of relationships between probability distributions that I've often referred to. And here's a diagram relating various modes of convergence.

3

4$\begingroup$ +1 for the first sentence. Memorization is certainly not a substitute for understanding  and really, who would ever claim that it is?  but it's sometimes just so useful! Especially in areas like real analysis where theorems can have multiple hypotheses and omitting even one of them can render the theorem false (think Dini's Theorem), sometimes it just saves time and stress to sit down one day and memorize it. Also, the "modes of convergence" diagram is wonderful. $\endgroup$ – Jesse Madnick Oct 5 '10 at 5:37
The only way I ever really understand a theorem is by blogging about it; this is what I did with the Polya Enumeration Theorem, for example, whose proof I hadn't followed very closely in my algebraic combinatorics class. They say the best way to learn something is to teach it, after all.
An interesting side effect is that usually while writing up the post I realize that the concept I'm trying to discuss relates to a lot of other things I'm interested in. Once I can place a theorem in a wide context like this it becomes much more meaningful.

6$\begingroup$ If you don't want to make your math thoughts public, perhaps what would work just as well is a "math journal." $\endgroup$ – Qiaochu Yuan Nov 3 '09 at 17:06
I have a pretty mediocre memory, so when I need to remember something I write it down. The act of writing helps, and if I can keep my notes organized, then it's there next time I need it. Also, if you really do need to memorize your theorems (for a test, for example), talking to yourself helps  I used to review math to myself out loud in the shower and while walking to class. Of course, you do risk being mistaken for a crazy mathematician that way ...
Those are both pretty generic pieces of advice, so here's some specific to math. I found that time spent understanding definitions was more useful than time spent memorizing theorems. If you only have a shaky grasp on what the words in a theorem mean, it's hard to remember it. A trivial example is that my calculus students always have trouble remembering that log(ab) = log(a) + log(b), but log(a+b) isn't log(a)log(b). And unless you understand log and its relation to exp, there's no reason to think one should hold but not the other. In this example, knowing a little history can help too; logs were used heavily by all scientists until about 50 years ago, because they make arithmetic reasonable, by turning multiplication into addition and exponentiation into multiplication. So I try to get my students to remember that logs make hard things easier; then they have some framework to put this identity inside.
Try coming up with counterexamples when you remove hypotheses. Play with the mathematics. The best way to know a theorem is to prove it. Try coming up with a different proof. Explain the theorem to someone else. Ask yourself where the theorem is used later. Rewrite the statement of the theorem. Does it generalise? How does it fit into the theory? For every theorem you ought to come up with a few examples that illustrate it, or at least understand the ones explained in class or the book.
If you have to know a bunch of random proofs for a course, which isn't uncommon, then get together with some friends and take turns going over the proofs. Trying to memorise just the theorem statement without any idea of why it's useful or where it fits in won't get you very far, and won't be very motivating.
Sometimes you've just got to memorise that theorem, no matter that you can't figure out what it's about or what it all means. In that case: put a tune to it. It doesn't even have to fit it very well either.
If I were posting this anonymously, I'd say that you should turn it into something rude as you'd be guaranteed not to forget it. But I'm not posting this anonymously so I shan't. You didn't hear that from me. I wasn't here. Someone must've edited my post and put that in.
I tend to agree that, nine times out of ten, memorizing theorems is a Bad Thing. The best goal (IMO) is to get comfortable enough in your area and at your level that you can intuit whether or not some statement is true without necessarily knowing a proof (or an adhoc counterexample). Of course, you also want to know the best tools in your area, but that often comes with understanding it on a deeper level.
That said, yeah, there are often some technical theorems that are useful as black boxes (examples: Wagner's/Kuratowski's theorem in graph theory, the classification of finite simple groups, maybe structure theorems in closely related areas to the one in which you work), but if you use them often enough that it's an actual hassle to look up their statements, and they're reasonably simply stated, you'll probably memorize them through sheer force of habit.
So how do you get a feel for your corner of mathematics? Well, you just do math. When you read a paper, try to stay a step or two ahead of the author. (I don't remember who said this  maybe it was in Terry Tao's excellent career advice page  but this is a can'tlose proposition; if you correctly predict what they're about to do, then you get to feel the satisfaction of being right, and if you incorrectly predict what they're about to do, you get to see something unexpected and new.) Work textbook problems that don't give you the answers. Ask your own questions and try to answer them; if you can't answer them yourself, go to the literature! (Or here, although preferably after the literature.)
Maintain a list of motivating examples and counterexamples in your area. For instance, I think a lot about graph theory; if I want to see if a conjecture holds for all graphs, one of the first things I'll do is ask whether it's true for a random graph. Next, I might ask if it's true for the Petersen graph, for the 5cycle, for complete graphs or for trees, or for sparse random graphs (a.k.a. expanders, for all intents and purposes.) If I can prove my conjecture  or even give a heuristic argument  in these special cases, then I can start wondering if it holds in general.
Try to understand more than one way to approach your subject; not everyone who's worked in it thought about things the same way, and you should be flexible to accommodate their intuitions. Going back again to graph theory, there are several different ways to view a graph. The simplest (and most standard) is as a symmetric binary relation on a set. But you can also think of it geometrically as "dots connected by lines," or topologically as the 1skeleton of a simplicial complex  not coincidentally, these two definitions are closely related. Algebraically, you can think of a graph as a certain kind of groupoid, which is closely related to its definition as a symmetric matrix. (This is actually also related to the topological/geometric definition, although less obviously  the groupoid is a discrete version of the fundamental groupoid of a space.) A separate algebraic approach is to think of graphs as "generalized Cayley graphs," which seems silly but actually pays off bigtime when you work with graph products. In computer science, the best way to represent a sparse graph is often as an adjacency or incidence list; this formulation is very often useful in algorithms.
Theorems tell you something deep about the behaviour of the objects of study of a specific domain in mathematics.
Review the basics of how those objects behave, and understand the significance of what the theorem tells you:
 is is something natural? why?
 is it something surprising? why?
 does this theorem provide you with some new tools in your use of those objects?
 does this theorem provide link with a different domain, allowing you to use new knowledge in your domain? with what advantages?
Answering this type of questions will eliminate the need of memorizing, and indeed it will let you understand better what you are studying.
Most of all, have fun!
I agree with Gowers 100%. I would only that my goal is always to find my own easy and obvious proof and avoid all trickery and sophistication as much as possible. When I run into an obstacle that I can't seem to avoid no matter how hard I try, it is often because a new idea, trick, or technique really is needed. It is only then that I peek at the reference. If I've already been beating your head against it long enough, I'm usually able to locate and understand the critical point far more easily than if I were just reading the proof from beginning to end (which usually just puts me to sleep).
What I've found is that a surprising number of theorems can be proved using an approach that is easy and obvious. Most of the others can usually be proved using a straightforward approach but using some novel idea or trick at only one or two critical steps. I find that once I see the proof in that form, I find both the theorem and proof very easy to remember.
There are, however, always some really useful theorems, where the proofs are difficult and not very enlightening. Those you end up memorizing only because you use them often enough.
I don't see the point of trying to memorize a theorem before you use it a lot.

15$\begingroup$ "If I've already been beating your head against it long enough ..." I spend enough time beating my head against proofs myself, Deane. I don't need you banging my head as well! $\endgroup$ – Mark Meckes Mar 30 '10 at 14:11
You might have an easier time remembering recognition principles instead of memorizing the precise statement of a theorem. For example, you might want to remember that Theorem X can help you if you have data Y about structure Z and want to prove something else about it. It is also useful to remember references this way, e.g., "This is the sort of result that would be proved in Soandso's paper or works cited therein." If you find yourself using a theorem a lot, chances are that you will become more comfortable with the precise statement with time.
If you want to understand more context surrounding a theorem, it helps to talk about said theorem with other people. In addition to traditional avenues of conversation, this can include volunteering to lecture on it, blogging about it, or possibly asking questions on Math Overflow.
Don't memorize theorems. That said, if you want to remember what a theorem is saying then there are a few things I find helpful:
Try it out in a computable example. If it's a classification theorem, pick some object and follow the steps of the proof on your chosen object.
Build examples and counterexamples. The theorem likely has some conditions where it applies and doesn't apply. Try to figure out what examples force the hypotheses of the theorem.
Try to remove hypotheses. Maybe you can't find counterexamples for the hypotheses of the theorem because there aren't any! See if you can tweak the proof a little to remove a hypothesis.
After you've gone through a few of these you'll find yourself much more familiar with the theorem and its proof, and (hopefully) you'll find it easy to remember it.
Don't memorize theorems for the sake of memorizing them. Learn the concepts, be inspired by the concepts, and then make them your own.
If you never find yourself inspired by the concepts, then perhaps mathematics is not the best direction for you. There are many wonderful endeavors in life and each of us should find one that both pays the bills and fulfills our emotional needs.
Write a your personal "booklecture notes" on the argument. This force you to to understand and refining many things that are under the concept and you dont see at simple reading. THen you have a more complete knowledge of arguments in a harmonic and memorizable way (as a house that was new, but after you have visited you know, or better is how you have bulding it)
Memorizing proofs of theorems is a wonderful way to check how good they are. If you find it difficult memorizing a proof, it possibly means it has not reached yet its best form; and trying to make it more easy to memorize may yield to a better comprehension of the theorem. Of course, there are technical proofs that are doomed to remain technical, but, ideally, we should be able to communicate a proof just by talking.
I would advise to study the proofs until plainly pure memory, BUT each time you repeat the reasons involved, the understanding switch always in ON position... that allows you to gain real and great intuitions, believeme...
Ah! if the repetitions are in front of someone else who is stuying the same there'll be a lot of more FUN... put attention in that Gowers is telling us: ...eventualy you will be able of finding quick proofs of everything you masters!Having taught calculus from Spivak a dozen times, I have most of the proofs memorized, and can proceed without notes. In the 4th edition, he changed the proof of Taylor's theorem. And there was a question, so I was going over the proof. But it was the proof from the 3rd edition. Of course I sometimes do alternate proofs, but this time it was not intended.
For a long time I wouldn't look at the proof, just the statement. That's one level of understanding. Then I started reading the proofs right away. Many interesting details don't always appear in the statement. That's another layer.
However, if you read a proof straight through, you get the false impression that each step follows logically from the last so the theorem is obvious. Try to explain the proof to your friends or try to prove it yourself. "Reading with your pencil" you can learn which steps are surprising and which are natural.
there are two kinds of theorems. the proofs of some theorems are tricks and some are deep insights into the proposition. memorize the trick theorems if you need to prove them and try to get deep into a proof of a theorem that is just a summary of the proofs thought and idea.