<br>Preface</br><br>Acknowledgments</br><br>1. Introduction</br><br> 1.1 Artificial Intelligence, Symbolic Logic, and Theorem Proving</br><br> 1.2 Mathematical Background</br><br> References</br><br>2. The Propositional Logic</br><br> 2.1 Introduction</br><br> 2.2 Interpretations of Formulas in the Propositional Logic</br><br> 2.3 Validity and Inconsistency in the Propositional Logic</br><br> 2.4 Normal Forms in the Propositional Logic</br><br> 2.5 Logical Consequences</br><br> 2.6 Applications of the Propositional Logic</br><br> References</br><br> Exercises</br><br>3. The First-Order Logic</br><br> 3.1 Introduction</br><br> 3.2 Interpretations of Formulas in the First-Order Logic</br><br> 3.3 Prenex Normal Forms in the First-Order Logic</br><br> 3.4 Applications of the First-Order Logic</br><br> References</br><br> Exercises</br><br>4. Herbrand's Theorem</br><br> 4.1 Introduction</br><br> 4.2 Skolem Standard Forms</br><br> 4.3 The Herbrand Universe of a Set of Clauses</br><br> 4.4 Semantic Trees</br><br> 4.5 Herbrand's Theorem</br><br> 4.6 Implementation of Herbrand's Theorem</br><br> References</br><br> Exercises</br><br>5. The Resolution Principle</br><br> 5.1 Introduction</br><br> 5.2 The Resolution Principle for the Propositional Logic</br><br> 5.3 Substitution and Unification</br><br> 5.4 Unification Algorithm</br><br> 5.5 The Resolution Principle for the First-Order Logic</br><br> 5.6 Completeness of the Resolution Principle</br><br> 5.7 Examples Using the Resolution Principle</br><br> 5.8 Deletion Strategy</br><br> References</br><br> Exercises</br><br>6. Semantic Resolution and Lock Resolution</br><br> 6.1 Introduction</br><br> 6.2 An Informal Introduction to Semantic Resolution</br><br> 6.3 Formal Definitions and Examples of Semantic Resolution</br><br> 6.4 Completeness of Semantic Resolution</br><br> 6.5 Hyperresolution and the Set-of-Support Strategy: Special Cases of Semantic Resolution</br><br> 6.6 Semantic Resolution Using Ordered Clauses</br><br> 6.7 Implementation of Semantic Resolution</br><br> 6.8 Lock Resolution</br><br> 6.9 Completeness of Lock Resolution</br><br> References</br><br> Exercises</br><br>7. Linear Resolution</br><br> 7.1 Introduction</br><br> 7.2 Linear Resolution</br><br> 7.3 Input Resolution and Unit Resolution</br><br> 7.4 Linear Resolution Using Ordered Clauses and the Information of Resolved Literals</br><br> 7.5 Completeness of Linear Resolution</br><br> 7.6 Linear Deduction and Tree Searching</br><br> 7.7 Heuristics in Tree Searching</br><br> 7.8 Estimations of Evaluation Functions</br><br> References</br><br> Exercises</br><br>8. The Equality Relation</br><br> 8.1 Introduction</br><br> 8.2 Unsatisfiability under Special Classes of Models</br><br> 8.3 Paramodulation—An Inference Rule for Equality</br><br> 8.4 Hyperparamodulation</br><br> 8.5 Input and Unit Paramodulations</br><br> 8.6 Linear Paramodulation</br><br> References</br><br> Exercises</br><br>9. Some Proof Procedures Based on Herbrand's Theorem</br><br> 9.1 Introduction</br><br> 9.2 The Prawitz Procedure</br><br> 9.3 The V-Resolution Procedure</br><br> 9.4 Pseudosemantic Trees</br><br> 9.5 A Procedure for Generating Closed Pseudosemantic Trees</br><br> 9.6 A Generalization of the Splitting Rule of Davis and Putnam</br><br> References</br><br> Exercises</br><br>10. Program Analysis</br><br> 10.1 Introduction</br><br> 10.2 An Informal Discussion</br><br> 10.3 Formal Definitions of Programs</br><br> 10.4 Logical Formulas Describing the Execution of a Program</br><br> 10.5 Program Analysis by Resolution</br><br> 10.6 The Termination and Response of Programs</br><br> 10.7 The Set-of-Support Strategy and the Deduction of the Halting Clause</br><br> 10.8 The Correctness and Equivalence of Programs</br><br> 10.9 The Specialization of Programs</br><br> References</br><br> Exercises</br><br>11. Deductive Question Answering, Problem Solving, and Program Synthesis</br><br> 11.1 Introduction</br><br> 11.2 Class A Questions</br><br> 11.3 Class B Questions</br><br> 11.4 Class C Questions</br><br> 11.5 Class D Questions</br><br> 11.6 Completeness of Resolution for Deriving Answers</br><br> 11.7 The Principles of Program Synthesis</br><br> 11.8 Primitive Resolution and Algorithm A (A Program-Synthesizing Algorithm)</br><br> 11.9 The Correctness of Algorithm A</br><br> 11.10 The Application of Induction Axioms to Program Synthesis</br><br> 11.11 Algorithm A (An Improved Program-Synthesizing Algorithm)</br><br> References</br><br> Exercises</br><br>12. Concluding Remarks</br><br> References</br><br>Appendix A</br><br> A.1 A Computer Program Using Unit Binary Resolution</br><br> A.2 Brief Comments on the Program</br><br> A.3 A Listing of the Program</br><br> A.4 Illustrations</br><br> References</br><br>Appendix B</br><br>Bibliography</br><br>Index</br>