# [Math] Towards Proof Writing as a Skill In Itself

In the vein of [Nate](https://www.lesswrong.com/posts/Ee8CZW7wzaNdCENYG/book-review-naive-set-theory-miri-course-list), [David](https://www.lesswrong.com/posts/FvA2qL6ChCbyi5Axk/book-review-naive-set-theory-miri-research-guide) and [TT](https://www.lesswrong.com/posts/WPtdQ3JnoRSci87Dz/set-up-for-success-insights-from-naive-set-theory), I'm currently reading through and working on a review of Halmos's _Naïve Set Theory_, from the MIRI course reading list.

My background in higher mathematics is so far two 300-level courses I have taken the past two quarters at Northwestern University:

*   MATH 306, Combinatorics, which was mostly calculations and light on formal proofs until the end, and
*   MATH 300, Introduction to Higher Mathematics, which is about... Nothing _but_ formal proofs.

MATH-300 is intentionally limited in scope so that we only prove trivial statements, until near the very end. At first I thought this would be an easy A, and a bit of a waste of time. It turned out to be neither of those things.

* * *

Writing rigorous proofs, when you don't have a lot of practice, is always harder than you would expect, even for trivially obvious statements. A few reasons I noticed:

*   You need to hew very closely to definitions and "allowed actions" in terms of inference. It's easy to make an 'obvious' logical leap that fails to convince the reader at all. It truly is like learning to cross [inferential distances](https://wiki.lesswrong.com/wiki/Inferential_distance) at a snail's pace.
*   You need to learn the common tricks of the trade -- for example, "A if and only if B" is usually proved by proving "if A then B" _and then separately proving_ "if B then A", making it essentially a 2 sub-proof project. "If A then B" is logically equivalent to "if not B then not A", which is sometimes much easier to prove (EDIT: although discouraged, because this makes the proof non-constructive - see comments). Et cetera, et cetera.
*   You need to become diligent about proofreading, especially if you're typesetting with LaTeX**.** A single misplaced symbol will cost you a point, because the whole point is to drill the rigor into you to _proofread your damn homework._

Imagine trying to build all of that, while _actually learning new concepts_. It's going to take you forever.

(Personal story time, feel free to skip.) I actually started with another proof-based course, Graph Theory. I dropped it, not because my grades were at all poor, but because my homework took. So. Damn. _Long_.  And after hours of effort, I would still lose points for very small errors in places I thought were perfect.

It was infuriating. I backed off, realized that I hadn't [built my skills in the right order](https://www.lesswrong.com/posts/qwdupkFd6kmeZHYXy/build-small-skills-in-the-right-order), and dropped the course, so that I would only take the proof writing one this quarter. I don't regret that at all. The next time I take Graph Theory, I am confident that it will go much smoother, because I actually know _how_ to write a proof.

(Having the first few homeworks already done in LaTeX won't hurt, either. 😉)

* * *

Nate, David and TT all remark on how _NST_ is a dense read. Dense yes, difficult not necessarily at all. I'm finding my experience after a proof writing class to make the text very easy to read, despite (or maybe due to!) the frequent breaks to attempt proofs of the authors' statements myself.

My _NST_ experience suggests to me, then, that proof writing is an excellent example of a component skill. [Principle 4 of _How Learning Works_](https://www.lesswrong.com/posts/mAdMkFqWzbJRB544m/book-review-how-learning-works) states that

> To develop mastery, students must acquire component skills, \[_then_\] practice integrating them, and \[_finally_\] know when to apply what they have learned. \[emphasis mine\]

So learn it in isolation first, if you can. It will make all future endeavors in proof-based math much smoother.