Foreword
This book has been reviewed pretty thoroughly already. Rather than restate each chapter, I'll be sharing insights: some book-specific, some general.
I am quite proud of my time-to-completion for this book - just over a week, working around a very strenuous courseload. I went from having to focus really hard to pick up new concepts to reading notation nearly as fluently as the English surrounding it. The chapters started making sense - it felt less random, and more like a coherent story wherein the protagonist slowly adds owers to their arsenal.
Naïve Set Theory
Functions
Functions are just static sets of ordered pairs . They are not dynamic indexing functions, they do not perform efficient lookup, please do not waste an hour of your life trying to figure out how you could do such a thing within the simple machinery afforded by set theory up to that point.
This is one of those things that Nate talked about - how skipping over just one word a few chapters prior can cause you to waste hours. During my confusion, I knew this was probably the case, but I still couldn't manage to immediately overcome my intuitions of what a function should be. This is one reason I'm open to working through the MIRI Research Guide with others.
Families
Families are, ironically enough, just a special kind of function; don't let your intuition fool you - they aren't "groups of functions". A family belonging to maps each element of the index set to an element . For example, a family from to could be (thanks to Dacyn for helping me clarify my writing).
Zorn's Lemma
I spent three hours staring at this proof. I understood what ZL meant. I grasped the relevant concepts. I read other versions of the proof. I still spent three long hours on this damn proof, and then I went to my classes. I don't know why I ended up figuring it out, but I suspect it was a combination of two factors: my brain worked through some things during the day, and I really wanted it. On the bus home, I mentally snapped and decided I was going to understand the proof. And I did.
I'm pleased to share my detailed proof outline of Zorn's Lemma, the product of many hours of ambient exasperation, rewritten in my own notation. Looking back, the proof in the book was pretty bad; it was neither succinct nor intuitive, but instead imposed a marais of mental variable tracking on the reader. I think mine is at least a little better, if not fully fleshed-out at all junctures.
Proof Calibration
As someone without a formal degree in mathematics, it was important for me to monitor how I approached the exercises in the book. Whenever the author began a proof, I tried to generate a mental proof sketch before reading further. Sometimes, I thought the proof would be easy and short, but it would turn out that my approach wasn’t rigorous enough. This was valuable feedback for calibration, and I intend to continue this practice. I'm still worried that down the line and in the absence of teachers, I may believe that I've learnt the research guide with the necessary rigor, go to a MIRIx workshop, and realize I hadn't been holding myself to a sufficiently high standard. Suggestions for ameliorating this would be welcome.
Forwards
Anticipation
One factor which helped me succeed was that I ensured my morning reading was what I most looked forward to each day. I was excited to go to sleep, wake up early, prepare a delicious breakfast, and curl up near the fireplace with book and paper handy. Trivial inconveniences can be fatal - do whatever you must to ensure you properly respect and anticipate your study time.
Defense with the Dark Arts
The most useful productivity-related advice I ever read was by Nate Soares (Dark Arts warning), and it relates to imbuing your instrumental goals with terminal values. Ever since having read that advice, every tedious assignment, every daily routine, every keystroke - they're all backed up by an intense desire to do something about the precarious situation in which humanity finds itself.
Internal Light
If you don't know where to start, I think the internal fire has to be lit first - don't try to force yourself to do this (or anything else) because you should. Stop the guilt-based motivation, proudly stake out what you want, and transform your life into a dazzling assortment of activities and tasks imbued with your terminal values, your brightest visions for yourself and the future.
I'll have a go at 4. (I don't know what is and isn't in your brain, so this may be entirely unhelpful. Even if so, it may help make it clearer what would be helpful.)
I think a better perspective on induction is that "regular induction" is just a special case of transfinite induction.
Ordinary induction over the natural numbers
When you first learn about induction, it's usually presented something like this: "To prove that P(n) for all n, prove that P(0) and that P(n) => P(n+1)." But it's not that uncommon to have induction proofs that work a slightly different way -- e.g., going from P(n) to P(2n) and P(2n+1) -- and a better way of looking at it is this: "When proving that P(n), you are allowed to assume that P(m) for all m<n".
Any proof using "n->n+1" induction is already a proof using this more powerful induction principle. (Because assuming P(n-1) is just part of what it means to assume P(everything less than n).)
Why does this more powerful principle work? Because if P(n) fails then P(m) fails for some smaller m, and then P(l) fails for some still smaller l, and so on, and you get an endless sequence of smaller and smaller numbers -- but these are all positive integers, so the sequence can't go on for ever, contradiction.
So the key fact is that there are no infinite decreasing sequences.
I find it helpful to think about this in terms of how the natural numbers are (or can be) constructed. 0 is a natural number; every natural number has a successor; and that's all of them. And in some sense this is why there are no infinite decreasing sequences: because each natural number is built by a finite increasing sequence.
Other varieties of induction
Now, the same thing works in other contexts where you have a kind of object (above, it's natural numbers) and a notion of comparison (above, it's the < relation) for which there are no infinite decreasing sequences.
(You often want to think of < as meaning "is simpler than".)
These tend to be objects with a recursive construction similar to that of the natural numbers. For instance, binary trees. The empty tree is a binary tree; if L and R are binary trees then the tree consisting of a root node whose children are L and R are binary trees; and that's all of them. So now you can do induction over binary trees: try to prove P(T) allowing yourself to assume P(T') whenever T' is a subtree of T. Or Lisp-style lists. The empty list is a list; if L is a list and x is a thing-that-isn't-a-list, then there's a list with x as head and L as tail; and that's all of them. Now you can do induction over lists: to prove P(L), allow yourself to assume that P(tail(L)).
In these cases, you can turn this "structural induction" into ordinary induction over natural numbers: use the depth of the tree, or the length of the list. But there are other cases, and we'll see one now.
Transfinite induction over sets and ordinals
Take our objects to be sets. And take < to mean "is an element of, or an element of an element of, etc.".
Why are there no infinite decreasing sequences? Because there are no infinite chains that look like ⋯∈x∈y∈z, going on for ever on the left. Why's that? Depending on how you look at it, it's (1) because there's an axiom (the Axiom of Foundation) that forbids it, or (2) because sets are constructed recursively, starting from the empty set, and this recursive construction guarantees it. (If you try to turn that into an actual proof, you end up back with the Axiom of Foundation, which is what guarantees that you can think of sets as being constructed recursively.)
Take our objects to be ordinals. And take < to be the usual ordinal comparison relation.
Why are there no infinite decreasing sequences? Because the ordinals are well-ordered by <. Why's that? Because (at least with the usual construction in ZF(C)) any set of ordinals is a subset of a larger ordinal, with the < relation between ordinals corresponding to the < relation within that larger ordinal.
(These examples can't be translated into ordinary integer inductions: there are far more ordinals than integers, and far more "ranks" of sets than integers. But we still have the no-infinite-descending-chains property!)
These are all the same
All of these work the same way. You have a kind of object (natural numbers, trees, lists, sets, ordinals), a notion of being smaller/simpler (comparison of integers/ordinals; subtree; tail of list; element of set), and a theorem or an axiom that guarantees that you can't keep getting smaller/simpler for ever. And, in that context, anything that's true of X whenever it's true of everything simpler than X is true of all X. And that's what induction really is.