Although this area has a history of over 80 years, it was once not until the creation of efficient SAT solvers within the mid-1990s that it become practically vital, finding applications in electronic design automation, hardware and software verification, combinatorial optimization, and more. Exploring the theoretical and practical aspects of satisfiability, Introduction to Mathematics of Satisfiability specializes in the satisfiability of theories consisting of propositional logic formulas. It describes how SAT solvers and techniques are applied to problems in mathematics and computer science in addition to vital applications in computer engineering.
The book first deals with logic fundamentals, including the syntax of propositional logic, complete sets of functors, normal forms, the Craig lemma, and compactness. It then examines clauses, their proof theory and semantics, and basic complexity issues of propositional logic. The final chapters on knowledge representation cover finite runs of Turing machines and encodings into SAT. Probably the most pioneers of answer set programming, the writer shows how constraint satisfaction systems will also be worked out by satisfiability solvers and how answer set programming can be utilized for knowledge representation.