In grade 12 Calculus, I needed to write a proof for an assignment. This wasn’t the first time I had encountered proofs. I had read some gorgeous proofs that had absolutely blown me away, like Euler’s proof of the Basel Problem.

These proofs are works of art. They act as highly refined trains of thought, voyaging incrementally through known territory, until suddenly the train arrives at a brand new station. Through these proofs you can see the thought process of some of the greatest minds, and can only imagine the struggle required to create such a masterpiece.

Much like a novel, a proof is much easier to read than write. I can’t remember the question exactly, but I do recall being absolutely stumped with proving it. I had no idea where to start.

So I went to my professor to ask for help.

How do I write a proof?

I was looking for something, anything really. Math had a ton of formulas… were there formulas for writing proofs? Surely there had to be a formulaic approach. Hopefully there was a structure that proofs usually follow.

At this point in time I was incredibly used to incremental growth. My default way of thinking was to take an equation, and slowly manipulate it using pre established rules into something new that revealed a fact. Solving for “x” is a classical example of this type of process. However, if you read the book Zero to One, one of the arguments is that incremental growth isn’t all that great. The book Smarter Faster Better has an awesome anecdote about the Japanese train system. I would highly recommend both Zero to One and Smarter Faster Better.

The thing is that I was so accustomed to incremental improvement. I was looking for a set of instructions to follow.

My professor, Adam Gregson didn’t take long to respond to my question. He began,

The first step in writing a proof, is to understand why it is true.

At this point I was trying to listen to his advice, but I found nothing of substance so I listened attentively for step two…

And then? What is step two??

Step two is to write the proof.

I was confused. I was looking for formulaic instructions so that I could finish my school assignment, but what I received was Yoda-esque advice. I had no idea what to say. When you receive something so drastically different from your expectations, finding a response can be hard. I think I just said thank you and returned to my desk with a puzzled look on my face.

Over the next couple days, as my assignment was approaching it’s deadline, I thought about what he had said.

The first step in writing a proof, is to understand why it is true.

Okay … but this doesn’t give me any information about what I should actually be writing down! It was around this time that the proof for the Mean Value Theorem was presented during a lecture. The thing about the proof for the Mean Value Theorem is that it seems ridiculous at first glance. The proof revolves around taking an incredibly specific edge case, proving the Theorem for that edge case (which is called Rolle’s Theorem), and then showing through a bit of algebra that every case can be manipulated into said edge case where Rolle’s Theorem applies. At first I tried to backwards engineer how the author of the proof could have come up with this: I was lost. It seemed as if they simply pulled convenient facts of the air willy nilly until the solution appeared before them.

Of course, I threw myself at learning how to write “proofs” and I guess at that time I found a method that worked for me. If I needed to prove that a statement was always true, I would throw incremental improvements at it until it was reduced to a true statement. Prove this inequality always holds? No problem. Simply move stuff around, complete the square, and look at that! We have that the square of a number is greater or equal to zero. That’s a fact that I can pull out of my tool belt and use to complete my proof. This was satisfying. It felt like I was proving things every time I wrote QED at the bottom of the page.

Enter UofT. Specifically MAT157: Analysis. The course description begins the phrase A theoretical course in calculus; emphasizing proofs and techniques, as well as geometric and physical understanding, before listing all the ideas that will be proven over the course of the two semesters this syllabus takes to complete. If I had to summarize the essence of this course into a single phrase, “You know nothing until you prove it” would do the trick. We began by using the axioms of the real numbers (which in hind sight was just the fact that the real numbers were a well-ordered field) to prove everything we used all the way up to Taylor’s theorem. But I digress, we were talking about proofs.

Every week a problem set was due, and every week I would find myself the night before frantically rereading the textbook and searching the internet looking for ideas. I did every problem set with a friend from class who had a much stronger background in math that I had. Even though we discussed the problems together and physically wrote our solutions across from each other, how we wrote proofs was wildly different.

I would take facts that were given, and through manipulation achieve a certain result. From my perspective she would pull arbitrary equations, which happened to be true, out of the air, and deftly manipulate them into the desired result. This felt weird to me. This wasn’t the incremental improvement that I was used to. I didn’t like this approach because when I read her proofs, I didn’t understand where these equations were coming from. I’d see a line and say to myself “I guess that’s true, but how the hell did you come up with that?”. Her response never satisfied me. She would work through it one way until she found an equation she could start with, and then she started her proof there and reverse engineered her answer.

I didn’t like it. I wanted my proofs to read like how I thought. I wanted to be able to follow a logical chain of thought to the solution. I didn’t want to start at some mysterious equation that’s importance only becomes significant after I show that it happens to make everything work in the proof.

The thing about MAT157 is that it was a year long course. Over two semesters: I wrote a lot of proofs.

The first step in writing a proof, is to understand why it is true.

This phrase stuck with me. It became what I said to myself before starting to attempt a proof, because after all that exposure to proofs in MAT157, it finally made sense. I had been thinking about math the wrong way.

At it’s most fundamental level, math is just axioms. For our purposes, math is a bunch of definitions. Everything in math is either a definition, or a consequence of a definition. This was hit home very hard by Professor Bierstone who taught MAT157. Every single thing he wrote on the board was either a definition or a proof. There wasn’t anything else. We didn’t go through examples, the proofs were examples enough.

The trick to proofs is understanding why it is true, when you think about the system only using the definitions provided. What about these definitions implies this theorem that I’m attempting to prove? Being able to think within a certain set of definitions isn’t easy.

For example, if I showed you the equation 11 + 2 = 1, you might think I’m pulling your leg, unless you know modular arithmetic. Modular arithmetic isn’t hard but it takes some getting used to. However, I promise that you’ve seen 11 + 2 = 1 before and didn’t think twice about it.

Hey! When does this lecture end?

Well it’s 11AM now, and the lecture is 2 hours long… so it ends at 1pm.

There you go, 11 + 2 = 1.

Proofs are wonderful things, but also take some time to get used to. I have not only taken Gregson’s words to heart, but it’s the advice I give people when asked how to write proofs. Every time I encounter a proof I strive to understand exactly why it happens to be true. To fully understand why something is true, is to understand the system it exists in. Are we working with elements of a group, or a field? What operation is actually defined when we use the symbol “+”?

Everything is either a definition or a consequence of definitions. It’s amazing when you think about it. This concept transcends mathematics and can be applied to other fields. This is one of the many reasons that math education is advocated for. Personally I adore computer science because of the same principle: everything that exists in technology is created by someone. Every compilation error that you see was crafted by a programmer that came before you. Every design choice for the laptop that I write this blog post on, was the product of someone else’s imagination. Everything that exists in the land of software development, was defined by someone who came before me.

This is an incredibly empowering idea. If everything that exists was created by someone, then everything has the potential to be understood. The majority of things that have been made were created with a purpose. They were made to solve a problem. If you understand the problem, and how the problem was solved, then using the technology is straight forward. If this sounds like something I said earlier, it is.

The first step to solving anything is to understand the system it resides in. Once you fully understand it, you won’t need instructions on how to write the code, or proof.