How to prove it a structured approach - Velleman, Daniel J. (Cambridge Univ. Press, 1996)