A Logical Approach to Discrete Math - Gries, David (Texts and monographs in computer science., 1993)
This text attempts to change the way logic and discrete math are taught in computer science and mathematics. While many books treat logic simply as another topic of study, this book's uniqueness is its willingness to take it one step further. In the book, logic is treated as a basic tool, to be applied in essentially every other area. "This is a rather extraordinary book, and deserves to be read by everyone involved in computer science and - perhaps more importantly - software engineering. I recommend it highly. The book will be of value not only to beginning students, but also to hardened programmers with many years of experience - in Fortran, Cobol, C, C++, or whatever. If the book is taken seriously, the rigor that it unfolds and the clarity of its concepts could have a significant impact on the way in which software is conceived and developed."--Peter G. Neumann.