Logic for Problem Solving, Revisited

Front Cover
BoD – Books on Demand, Nov 18, 2014 - Computers - 344 pages
This seminal book of Computer Science is the most cited reference on the subject of programming in logic. Originally published in 1979, this now classic text was the first comprehensive attempt to define the scope of logic for problem solving. In this extended edition, Robert Kowalski revisits his classic text in the light of subsequent developments in a substantial commentary of fifty pages. This work investigates the application of logic to problem-solving and computer programming. It assumes no previous knowledge of these fields, and may be appropriate therefore as an introduction to logic, the theory of problem-solving, and computer programming. At the focal point is Computational Logic. It centers around the famous slogan: Algorithm = Logic + Control, which was coined by the author and is explained in this book. According to this view, an algorithm consists of a problem description (the logic part) and a strategy to perform useful computations on this description (the control part). This separation of concerns ideally leads to declarative programs that are simple to develop, clear to understand and easy to maintain.
 

Contents

Introduction
1
Representation in Clausal Form
22
Horn Clause ProblemSolving
75
The Procedural Interpretation of Horn Clauses
107
PlanFormation and the Frame Problem
133
Resolution
147
The Connection Graph Proof Procedure
163
Global ProblemSolving Strategies
179
Conclusion
246
Index
261
Errata of the 1979 Edition
273
Representation in Clausal Form
279
Horn Clause ProblemSolving
285
PlanFormation and the Frame Problem
291
The Connection Graph Proof Procedure
298
Comparison of Clausal Form with Standard Form
304

Comparison of Clausal Form with Standard Form
193
Ifandonlyif
210
Logic Change and Contradiction
239
Formalisation of Provability
311
New References
317
Copyright

Other editions - View all

Common terms and phrases

About the author (2014)

Robert Kowalski is a logician and computer scientist. He studied at the University of Chicago, University of Bridgeport (BA in mathematics), Stanford University (MSc in mathematics), University of Warsaw and the University of Edinburgh (PhD in computer science). He was a research fellow at the University of Edinburgh and has been at Imperial College London since 1975, attaining a chair in Computational Logic in 1982 and becoming Emeritus Professor in 1999. He was inducted as a Fellow of the American Association for Artificial Intelligence in 1991, of the European Coordinating Committee for Artificial Intelligence in 1999, and of the Association for Computing Machinery in 2001. He began his research in the field of automated theorem proving, developing both SL-resolution with Donald Kuehner and the connection graph proof procedure. However, he is best known for his contributions to the development of logic programming, starting with the procedural interpretation of Horn clauses. He also developed the minimal model and the fixpoint semantics of Horn clauses with Maarten van Emden. With Marek Sergot, he developed both the event calculus and the application of logic programming to legal reasoning. With Fariba Sadri, he developed an agent model in which beliefs are represented by logic programs and goals are represented by integrity constraints. Kowalski was one of the early developers of Abductive Logic Programming, in which logic programs are augmented with integrity constraints and with undefined, abducible predicates. This work led to the demonstration with Phan Minh Dung and Francesca Toni that most logics for default reasoning can be regarded as special cases of assumption-based argumentation.

The editor Thom Fruehwirth is a professor at the University of Ulm, Germany. He holds a Ph.D. in Computer Science from the Technical University of Vienna. He was a researcher at the European Computer Industry Research Centre and the Ludwig Maximilians University in Munich. He is the designer of the programming language Constraint Handling Rules (CHR) and author of the book by the same name. He has also co-authored two leading textbooks on constraint programming and reasoning.

Bibliographic information