Robert Kowalski

Professor Emeritus and Distinguished Research Fellow

Department of Computing
Imperial College London

180 Queen's Gate, London SW7 2BZ, UK.

Email: rak at

Please note that I am no longer accepting research students.

Curriculum Vitae

A Short Story of My Life and Work

New paper: Obligations as Goals + Preferences with Ken Satoh.

Deontic attitudes, such as obligations, are normally formalised in a modal logic in which some possible worlds are better than others, and an obligation is fulfilled if it is true in the best possible world. An obligation that is not fulfilled may, none the less, be compatible with other possible worlds that are less than ideal.

We propose a formalisation, which agrees with these intuitions, but in which deontic attitudes are formalised in non-modal first-order logic, and collections of possible worlds are ordinary first-order models. The formalisation treats the case in which a certain desirable situation is obligatory as the problem of generating a model in which a sentence of the form desirable situation or less desirable situation is true, and where models in which desirable situation is true are preferable to models in which desirable situation is false and less desirable situation is true instead.

New paper: Programming in Logic without Logic Programming with Fariba Sadri.

In previous work, we proposed a logic-based framework in which computation is the execution of actions in an attempt to make reactive rules of the form if antecedent then consequent true in a canonical model of a logic program determined by an initial state, sequence of events, and the resulting sequence of subsequent states. In this model-theoretic semantics, reactive rules are the driving force, and logic programs play only a supporting role.

In the canonical model, states, actions and other events are represented with timestamps. But in the operational semantics, for the sake of efficiency, timestamps are omitted and only the current state is maintained. State transitions are performed reactively by executing actions to make the consequents of rules true whenever the antecedents become true. This operational semantics is sound, but incomplete. It cannot make reactive rules true by preventing their antecedents from becoming true, or by proactively making their consequents true before their antecedents become true.

In this paper, we characterize the notion of reactive model, and prove that the operational semantics can generate all and only such models. In order to focus on the main issues, we omit the logic programming component of the framework.

Recent paper: Reactive Computing as Model Generation with Fariba Sadri, New Generation Computing, 2015, Volume 33, Issue 1, pp 33-67

In this paper we propose a logic-based, framework 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 timestamps with facts and events. But in the operational semantics, facts are updated destructively, without timestamps. We show that the model generated by destructive updates is identical to the model generated by reasoning with facts containing timestamps. We also extend the model with intentional predicates and composite event predicates defined by logic programs containing conditions in first-order logic, which query the current state.

Recent paper: History of Logic Programming

Volume 9, Computational Logic (Joerg Siekmann, editor).
In the History of Logic series, edited by Dov Gabbay and John Woods, Elsevier, 2014, pp 523-569.

This history covers some of the highlights of the development of logic programming from the late 1960s into the 21st century. It focuses on a number of issues that continue to be important today:

the difference between solving a goal by theorem-proving and solving it by model generation,
the difference between solving a goal top-down and solving it bottom-up, and
the relationship between declarative and procedural representations.

Computational Logic and Human Thinking:
How to be Artificially Intelligent

This earlier draft of a book of the same title, 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 argue more convincingly that Computational Logic is useful for human thinking. However, I have also included a number of additional, more formal chapters for the more advanced reader.

Here are some extracts from the reviews:

By Thomas A. Blackson, Arizona State University, on the back cover:
"Computational Logic and Human Thinking is a superb introduction both to AI from within a computational logic framework and to its application to human rationality and reasoning. Nothing else comes close. Kowalski writes with philosophical insight and just the right level of technical expertise. He puts the excitement back in AI. This sets Computational Logic and Human Thinking apart from the technically overwhelming, and all too often largely unintuitive and uninspiring, encyclopedic introductions that currently dominate the field.

By Donald Gillies, University College London, on the back cover:
"Artificial Intelligence (or AI) tries to program computers so that they can think intelligently like humans. In this book, one of the pioneers of AI suggests something new and original, namely to use the results of AI to improve human thinking ... Anyone who wants to reason better and more effectively in everyday life should study Robert Kowalski's book."

By Alan Bundy, Artificial Intelligence, June-July 2013:
"Computational Logic and Human Thinking might make an excellent basis for a course on AI for non-science students. It covers a wide range of AI techniques in an accessible form and within a uniform framework, with more technical details available as optional extensions. Moreover, Kowalski's enthusiasm for and dedication to his subject shines through on every page."

By George Luger, Computing in Science and Engineering, July/August 2012:
"In this serious and enjoyable book, Kowalski proposes a specific, utilitarian, and sufficient model, in the scientific sense, of human subject/world communications. And, as Aristotle suggested long ago, the sufficiency of this logic-based representational effort could offer insights that can lead to more coherent reasoning, writing, discussions, and arguments by human agents."

By Corrado Mencar, Computing Reviews, October, 2012:
"In sum, this book could be of greatest value to computer science students and professionals who want to improve their computational thinking and have come to see topical discipline to be applied to everyday problems and situations."

By Luis Moniz Pereira, Association of Logic Programming Newsletter, January 2012:
"The book is within clear grasp of a general higher-educated audience, because of the adept and informal naturalness with which it addresses, explains and exemplifies nevertheless non-trivial issues in knowledge representation and reasoning. It is also a treasure trove for teachers and researchers alike, as it admirably integrates the author's longstanding groundbreaking and fertile research efforts, and expounds with clarity and simplicity the unifying epistemological virtues of the Computational Logic paradigm - one that is supported by a vast community of researchers."

"A job well done." "An interesting book." "An excellent book and deserves a wide readership!"

"6 von 5 sternen"

By Lornz Demey, Tijdschrift voor Filosofie vol:75 issue:2 pages:395-397:
"Samenvattend kan gesteld worden dat Kowalski erin geslaagd is een boek te schrijven dat zowel de ge´nteresseerde leek als de meer gespecialiseerde lezer zal (blijven) boeien."

According to Google translate: In summary we can say that Kowalski has managed to write a book that will facinate both the interested layman as well as the more specialized reader.

Logic for Problem Solving

The book was originally published in 1979 and based on lecture notes written in 1974. The preface describes the goals of the book in the following terms:

This book 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

Please note that this is a complete copy of the book. However, chapters 10-13 have been inserted between chapters 1 and 2.

New book: Logic for Problem Solving, Revisited

As it says, "In this extended edition, Robert Kowalski revisits his classic text in the light of subsequent developments in a substantial commentary of fifty pages."


I worked with WHO and UNICEF from 2009 to 2013, 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 annual estimates since 2010. 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.

Selected bibliography:

Early papers on theorem-proving, logic programming and knowledge representation:

Logic and Education

Legal reasoning and argumentation

  • 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) 

  • R. Kowalski, F. Toni, Argument and Reconciliation ,
    In: International Symposium on Fifth Generation Computer Systems '94, Workshop on Legal Reasoning, Tokyo, pages 9-16 (1994)

  • R. Kowalski, F. Toni, Abstract Argumentation ,
    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)

Metalogic programming

Event Calculus

  • Kowalski, R. and Sergot, M. A 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.

Abductive Logic Programming 

  • 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)

From Abduction to Argumentation

Intelligent Agents

  • 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 and F. Sadri, Teleo-Reactive Abductive Logic Programs
    In Festschrift for Marek Sergot.(eds: Alexander Artikis, Robert Craven, Nihan Kesim, Babak Sadighi, and Kostas Stathis), Springer, 2012.

   Miscellaneous papers

  • R. Kowalski, Logic Programming
    MIT Encyclopaedia of Cognitive Science (eds. R A Wilson and F C Keil) MIT Press (1999)

Updated 14 November 2015