Divided into three parts, it covers:
- Model Theory and Recursive Functions - introducing the basic model theory of propositional, 1st order, inductive definitions and 2nd order logic. Recursive functions, Turing computability and decidability are also examined.
- Descriptive Complexity - looking at the relationship between definitions of problems, queries, properties of programs and their computational complexity.
- Approximation - explaining how some optimization problems and counting problems can be approximated according to their logical form.
Logic is important in Computer Science, particularly for verification problems and database query languages such as SQL. Students and researchers in this field will find this book of great interest.