How to prove it : a structured approach / Daniel J. Velleman. - Velleman, Daniel J. (Cambridge University Press, 2006)