The Book of Proof

Welcome, lambda lover, to the second issue of The Clojure Atom!



It is with immense reluctance and impatience that I begrudgingly present to you the excellent The Book of Proof, a free, online textbook (also available in print for $15.65) that you'll find indispensable in learning about sets, logic, and proofs, giving you the foundation you need to understand computer science papers (like John McCarthy's original Lisp paper) and appreciate programming more deeply.



Even though I don't really want to be writing about it, The Book of Proof was the best of the three or four introductory proof books I attempted because it's thorough, it's paced well, there are plenty of exercises, and the writing isn't boring. Here's one of my favorite bits:

Thus in addition to containing every imaginable function and every imaginable black-and-white image, 𝓟(ℝ²) also contains the full text of every book that was ever written, those that are yet to be written and those that will never be written. Inside of 𝓟(ℝ²) is a detailed biography of your life, from beginning to end, as well as the biographies of all of your unborn descendants. It is startling that the five symbols used to write 𝓟(ℝ²) can express such an incomprehensibly large set.

Personally, one reason I wanted to learn Clojure was because I wanted to explore the Academic Borough of Computation City, and Lisps are located just one block over at the edge of Engineering... village. The Book of Proof (which I can't wait to stop talking about) helped me get the rest of the way there; it's what gave me the knowledge needed to understand Communicating Sequential Processes so that I could write the core.async chapter of that book I wrote.



If you haven't worked with proofs at all, or only vaguely remember them from geometry class, give The Book of Proof a try. You'll find that constructing or reading a proof feels a lot like writing code: it's sometimes impossibly frustrating but also immensely rewarding. You'll also find that navigating proofs is a high-leverage skill, just like programming. It's an A+ book that I am thankfully done describing.



Now that I've satisfied my obligation to point you to free, useful content, here's what I actually wanted to share: The Book of Sand, a short story by Jorge Luis Borges!!! As a Clojurian, I find it perfectly conveys the dread and terror of object-oriented programming. Plus, it only takes 5-10 minutes to read!!



Borges's writings are steeped in math and philosophy, and should be required reading for programmers. I wouldn't exactly call them a delight because of the vague existential disquiet they evoke, but they are engrossing and smart.



Check them out this weekend, and have a great time being haunted by infinity!



Daniel