A Logical Approach to Discrete Math (Texts and Monographs in Computer Science)