Notes for chapter 3: "Formalizing computation"