Chapter 2.3.1
Chapter 2.3.2: theory
Exercise 2.56
Exercise 2.57
Exercise 2.58