Jeff Bezos tells a great story about the smartest guy he knew at Princeton. He and a classmate were working on a really tough partial differential equation and getting nowhere. They spent 3 hours on the problem and gave up.

So they brought it to the smartest guy in their program, who looked at it for a few minutes and said, “Cosine.” When asked to explain, he wrote out 3 pages of detailed algebra that showed the answer. He told Jeff that he had worked out a similar problem a few years ago, and simply mapped that process onto this one.

Jeff Bezos ends this story by saying, “And that’s how I knew I would never be a great theoretical physicist”, which is a pretty funny ending. But, I think there’s a lesson to be learned here.

When Jeffy B. (as his friends presumably call him) saw this impossible problem being solved in just a few minutes, he likely thought that he was seeing a magician at work. What else would you call someone who can pull a solution out of thin air?

However, what he didn’t realize at the time is that he was seeing a very, very skilled pattern matcher. The smartest guy in his program did not invent a solution out of whole cloth. Instead, he obviously had a huge library in his head of math problems that he had solved. He also was very skilled at recognizing a matching setup, so he could apply his library of problems.

What’s important to recognize is that these same attributes apply across all levels of math. From algebra to topology, it is always important to keep a library in your head of past examples of math problems. It’s also always important to practice recognizing different types of math problems and applying old solutions to new problems.

I have my students practice this with an error log, which I think is the best way to operationalize this. When my students encounter a math problem they can’t answer, I have them put it in the error log with an explanation of how they did and *how they knew how to do it*. Then, I have them review and redo the problems in the error log periodically, to make sure that their “library” of past problems is always easy to mentally access and that they practice recognizing the solutions to old, difficult problems.

I use my app for this, but a well-organized spreadsheet could work just as well. The important thing is that they do the problems again in their entirety, so that they can really practice applying their techniques. Once they get to the point that the process for a problem is old-hat, they can retire the question (which is something that’s done automatically in my app).

Once you realize that advanced math is about pattern matching, it changes your perspective on how to learn math. You no longer have to worry about inventing new solutions all the time. You only have 2 questions to answer:

- How can I use the solutions that already exist?
- What are my triggers to know to use those solutions?

Everything else follows from there.