A Logical Approach to Discrete Math door Fred B. Schneider & David Gries