Designed primarily as an introductory text on logic for computer science, this well-organized book deals with almost all the basic concepts and techniques that are pertinent to the subject. It provides an excellent understanding of the logics used in computer science today.
Starting with the logic of propositions, it gives a detailed coverage of first order logic and modal logics. It discusses various approaches to the proof theory of the logics, e.g. axiomatic systems, natural deduction systems, Gentzen systems, analytic tableau, and resolution. It deals with an important application of logic to computer science, namely, verification of programs. The book gives the flavour of logic engineering through computation tree logic, a logic of model checking. The book concludes with a fairly detailed discussion on nonstandard logics including intuitionistic logic, Lukasiewicz logics, default logic, autoepistemic logic, and fuzzy logic.
The Second Edition includes applications of compactness theorem to many interesting problems relevant to mathematics and computer science. It also presents the undecidability of first order logic, inexpressibility of truth, and incompleteness of Peano's Arithmetic in a comprehensive and lively manner.
Besides students of Computer Science, those offering courses in Mathematics and Philosophy would greatly benefit from this study.
• Provides numerous worked-out examples which not only illustrate the concepts and theory developed, but also give a lead to the succeeding notions.
• Exercises at the end of each section aim at reinforcing and mastering the techniques, raising issues and preparing background for further development of the subject.
• Problems of theoretical nature, which are important for learning the subject, are included at the end of each chapter.
• The reader is constantly provoked to work out the details, promoting interactive learning.