Exercise 4.2.12 solution