This book, published in July 2011 by Cambridge University Press, presents the principles of Computational Logic, so that they can be applied in everyday life. I have written the main part of the book informally, both to reach a wider audience and to demonstrate that the enhanced logic is indeed useful for human thinking. However, I have also included a number of additional, more formal chapters for the more advanced reader.
I gave a short course based on the book at the Third International ALP/GULP Spring School on Computational Logic in Bertinoro, Italy, 10-15 April 2011. Here is a link to the slides.
I have also given a longer, 14 lecture course at the University of Kyoto, 3 October - 12 December 2012. (Each lecture is one and a half hours.) Here is a link to the slides for the complete set of lectures. If you are teaching a course, and would like solutions to the homework, please email me at rak at doc dot ic dot ac dot uk.
Jacinto Davila has also used a draft of this book for a course at Universidad de Los Andes, Venezuela. Here is a link to his Spanish translation of an earlier draft.
The book, originally published by North-Holland in 1979, is now out of print.
Computer Science today lacks a unified view of Computing. Instead, the main subareas, most notably artificial intelligence, database systems and programming languages, offer different and often competing approaches to knowledge representation, problem-solving and computation.
In this paper we propose a unifying logic-based, framework for Computing, inspired by artificial intelligence, but scaled down for practical database and programming applications. Computation in the framework is viewed as the task of generating a sequence of state transitions, with the purpose of making an agent's goals all true. States are represented by sets of atomic sentences (or facts), representing the values of program variables, tuples in a coordination language, facts in relational databases, or Herbrand models.
In the model-theoretic semantics, the entire sequence of states and events are combined into a single model-theoretic structure, by associating time stamps with facts. But in the operational semantics, facts are updated destructively, without time stamps. We show that the model generated by destructive updates is identical to the model generated by reasoning with facts containing time stamps. We also extend the model with intentional predicates and composite event predicates defined by logic programs containing conditions in first-order logic (FOL). We extend the notions of local stratification and weak stratification to generate the associated model.
I have been working with WHO and UNICEF since 2009, helping to develop, implement and deploy a set of logical rules to assist in estimating global, country by country, infant immunization coverage . The problem is to reconcile inconsistencies when different sources of data conflict - for example when government reported data is inconsistent with survey data. The purpose of the logical rules is to make the reconciliation and estimation process more transparent and more consistent.
The rules have been implemented in XSB Prolog as a purely declarative logic program, and have been used to assist in making the estimates in 2010, 2011 and 2012 for each of the preceding years. In addition to helping to ensure transparency and consistency, the Prolog implementation has also proved useful in providing detailed documentation of the rationale for each of the estimates.
There are two articles describing our work. The first , published in the online journal PLOS-ONE, describes our work for a general audience with little or no computing background. The second , presented at JURISIN 2011, describes the work for a more academic audience and compares it with previous work on the logical formalisation of the British Nationality Act.
Early papers on theorem-proving, logic programming and knowledge representation:
Kowalski, R. and Kuehner, D.,
Resolution with Selection Function
In Artificial Intelligence, Vol. 2, 1971, pp. 227-60.
Reprinted in Anthology of Automated Theorem-Proving Papers, Vol. 2, Springer-Verlag, 1983, pp. 542-577.
Procedure Using Connection Graphs
In JACM Vol. 22, No. 4, 1975, pp. 572-595.
van Emden, M. and Kowalski, R. The Semantics of Predicate Logic as a Programming Language In JACM , Vol. 23, No. 4, 1976, pp. 733-742.
Deliyanni, A. and Kowalski, R.
Logic and Semantic Networks
In CACM, Vol. 22, No. 3, 1979, pp. 184-192.
Algorithm = Logic + Control
In CACM, Vol. 22, No. 7, 1979, pp. 424-436. Reprinted in Programming Languages: A Grand Tour, Third Edition, (ed. E. Horwitz), Computer Science Press, Maryland, 1986, pp. 480-492.
Kowalski, R. The Relationship between Logic Programming and Logic Specification In Phil. Trans. R. Soc. Lond. A, Vol 312, 1984, pp. 345-361.
Kowalski, R. The Limitations of Logic In Proceedings of ACM Computer Science Conference, 1986, pp 7-13. Revised version in Proceedings of SEAS, Heidelberg, 1986, pp. 1-13. Also in Knowledge Base Management Systems, (eds. C. Thanos and J. W. Schmidt), Springer-Verlag, pp. 477-489.
Kowalski, R., Sadri, F. and Soper, P. Integrity Checking in Deductive Databases In Proceedings of VLDB, Morgan Kaufmann, Los Altos, Ca., 1987, pp. 61-69.
Kowalski, R. The Early Years of Logic Programming In CACM, 1988, Vol. 31, No. 1, pp. 38-43.
Legal reasoning and argumentation
Sergot, M., Sadri, F., Kowalski,
R., Kriwaczek, F., Hammond, P., and Cory,T.
The British Nationality Act as a Logic Program
In CACM, Vol. 29, No. 5, 1986, pp. 370-386.
Treatment of Negation in Logic Programs for Representing Legislation
In Proceedings of Second International Conference on AI and Law, (ed. E. Rissland) Vancouver, Canada, ACM Press, 1989, pp. 11-15.
R. Kowalski, Legislation as Logic Programs
In: Logic Programming in Action (eds. G. Comyn , N. E. Fuchs, M. J. Ratcliffe), Springer Verlag, pages 203-230 (1992)
Kowalski, F. Toni,
and Reconciliation ,
In: International Symposium on Fifth Generation Computer Systems '94, Workshop on Legal Reasoning, Tokyo, pages 9-16 (1994)
Kowalski, F. Toni, Abstract
In: Artificial Intelligence and Law Journal 4(3-4), Special Issue on Logical Models of Argumentation, H. Prakken and G. Sartor, eds., Kluwer Academic Publishers, pages 275-296 (1996)
Kowalski, R. and Kim, J. S.
Metalogic Programming Approach to Multi-Agent Knowledge and Belief
In Artificial Intelligence and Mathematical Theory of Computation (ed. V. Lifschitz), Academic Press, 1991, pp. 231-246.
without Model Theory ,
In: What is a logical system?, D. Gabbay ed., Oxford University Press (1995)
Kowalski, R. and Sergot, M.
Logic-based Calculus of Events
In New Generation Computing, Vol. 4, No.1, February 1986, pp. 67-95. Also in Knowledge Base Management-Systems, (eds. C. Thanos and J. W. Schmidt), Springer-Verlag, pp. 23-51. Also in The Language of Time: A Reader (eds. Inderjeet Mani, J. Pustejovsky, and R. Gaizauskas) Oxford University Press. 2005.
Updates in the Event Calculus
In Journal of Logic Programming, 1992, Vol. 12, No. 162, pp. 121-146.
R. Kowalski, F. Sadri, The situation calculus and event calculus compared , In: Proc. International Logic Programming Symposium, ILPS'94 (1994)
F. Sadri, R. Kowalski, Variants of the event calculus , In: Proc. International Conference on Logic Programming, L. Sterling, ed., MIT Press (1995)
R. Kowalski, F. Sadri, Reconciling the Situation Calculus and Event Calculus , In: Journal of Logic Programming Vol. 31, pages 39-58, Special Issue on Reasoning about Action and Change (1997)
Abductive Logic Programming
K. Eshghi and R. Kowalski, Abduction Compared with Negation as Failure, Sixth International Conference on Logic Programming (1989)
Kakas, R. Kowalski, F. Toni, Abductive logic programming ,
In: Journal of Logic and Computation 2(6) pages 719-770 (1992)
R. Kowalski, F. Toni, G. Wetzel,
Towards a declarative and efficient glass-box CLP language ,
In: Proc. of Logic Programming Workshop WLP'94, N. Fuchs and G. Gottlob, eds.,
F. Toni, R. Kowalski, Reduction of abductive logic programs to normal logic programs , In: Proc. International Conference on Logic Programming, L. Sterling, ed., MIT Press, pages 367-381 (1995)
Wetzel, R. Kowalski, F. Toni,
Theorem-Proving Approach to CLP, In: Proc. of Logic Programming Workshop WLP'95, A. Krall
and U. Geske, eds.,
R. Kowalski, G. Wetzel, F. Toni, A Unifying Framework for ALP, CLP and SQO , Technical Report, Department of Computing, Imperial College, London (1996)
Fung, T.H. and Kowalski, R. The IFF Proof Procedure for Abductive Logic Programming. Journal of Logic Programming, 1997.
A. C. Kakas, R. Kowalski, F. Toni, The Role of Abduction in Logic Programming , In: Handbook of Logic in Artificial Intelligence and Logic Programming 5, pages 235-324, D.M. Gabbay, C.J. Hogger and J.A. Robinson eds., Oxford University Press (1998)
R.A. Kowalski, F. Toni, G. Wetzel, Executing Suspended Logic Programs , In: Fundamenta Informatica 34 (3) (1998)
From Abduction to Argumentation
A. Bondarenko, F. Toni, R. Kowalski, An Assumption-based Framework for Non-monotonic Reasoning , In: Proc. 2nd International Workshop on Logic Programming and Non-monotonic Reasoning, L.M. Pereira and A. Nerode, eds., pages 171-189 (1993)
F. Toni, R. Kowalski, An argumentation-theoretic approach to logic program transformation , In: Proc. LOPSTR'95, International Workshop on Logic Program Synthesis and Transformation, M. Proietti ed., LNCS 1048, Springer Verlag, pages 61-75 (1995)
P.M. Dung, R. Kowalski, F. Toni, Synthesis of proof procedures for default reasoning , In: Proc. LOPSTR'96, International Workshop on Logic Program Synthesis and Transformation, J. Gallagher ed., LNCS 1207, Springer Verlag, pages 313-324 (1996)
A. Bondarenko, P.M. Dung, R. Kowalski, F. Toni, An abstract, argumentation-theoretic approach to default reasoning, In: Artificial Intelligence 93(1-2) pages 63-101 (1997)
Dung, P. M., Kowalski, R., and Toni, F. Dialectic proof procedures for assumption-based, admissible argumentation , Journal of Artificial Intelligence 170(2), February 2006, pp. 114-159
Kowalski, R., Logic-based Open Systems, Department of Computing, Imperial College, 1985. In Representation and Reasoning. Jakob ph. Hoepelman (Hg.) Max Niemeyer Verlag, Tübingen 1988, pp. 125-134.
R. Kowalski, Using metalogic to reconcile reactive with rational agents , In: Meta-Logics and Logic Programming (K. Apt and F. Turini, eds.), MIT Press (1995)
R. Kowalski, F. Sadri, Towards a unified agent architecture that combines rationality with reactivity, In: Proc. International Workshop on Logic in Databases, San Miniato, Italy, Springer- Verlag, LNCS 1154 (1996)
R. Kowalski, F. Sadri, An Agent Architecture that Unifies Rationality with Reactivity , Department of Computing, Imperial College (1997)
R. Kowalski, F. Sadri, From Logic Programming towards Multi-agent Systems , In: Annals of Mathematics and Artificial Intelligence Volume 25, pages 391-419 (1999)
R. Kowalski, Artificial intelligence and the Natural World , Cognitive Processing, Volume 2 (2001)
R. Kowalski, Logic Programming MIT Encyclopaedia of Cognitive Science (eds. R A Wilson and F C Keil) MIT Press (1999)
R. Kowalski, Logic Programming and the Real World Logic Programming Newsletter. January 2001
R. Kowalski, Directions for Logic Programming Computational Logic: Logic Programming and Beyond (eds. A C Kakas and F Sadri) Springer, 2002, 26-32.
R. Kowalski, A logic-based model for conflict resolution April 2003.
R. Kowalski, Logic and Modularity April 2005.
R. Kowalski, Computational Logic as a Dual Process Model of Thought February 2006.
R. Kowalski, Time to think like a Computer , New Scientist 3 December 2011
Updated 26 January 2013