Logic: Techniques of Formal Reasoning, 2nd Edition