was born in
went to Fairfield Prep, a boys-only
skill needed was the ability to guess the most coherent English translation for
the unknown vocabulary, given the known vocabulary and the known grammar as
constraints. Years later, I learned that the required technique is called
“abduction”. Our team took first prize in
I also started to have an intellectual life outside of school. I started reading Freud, Ruth Benedict and Joad’s “Guide to Philosophy”. I found these books very exciting, but they undermined my Catholic upbringing. I still believed there had to be a single truth, and I wanted to find out what it was. I also wanted to get away from home and to be free to come and go as I pleased.
these reasons, I was attracted to study at the
I got “A”s in all my subjects, except English writing skills, in which I got a “D”. I couldn’t understand what was wrong with my writing, but I was determined to improve it. I reasoned that if I could understand and cure the problems with my writing, then I would do even better in my other courses.
the beginning of my second year, I was beginning to find the social life at the
spent the rest of that academic year trying to find myself. I signed up for an
expedition to find gold in
following academic year, I enrolled at the
I wasn’t able to get a scholarship at first. So I supported myself by working in Peoples Savings bank in the evening, processing paper tapes of the day’s banking transactions. I discovered how to cut the time of the job in half, and then I had the problem of keeping my total pay the same as it was before.
When I went to the scholarship office to argue my case for getting a scholarship, I was turned down because I didn’t participate in any extracurricular activities. The fact that I was busy working to support my studies was not deemed to be relevant.
I was told that the only solution was to join a student club. Because I had neither the interest nor the time to join any of the existing clubs, I advertised in the student newspaper to announce the formation of a new club for people who didn’t want to belong to any clubs. Soon after that, I was awarded a scholarship, which allowed me to quit my job at Peoples Savings and to work full time at being a student.
after getting my scholarship, the best thing about the
took the Graduate Record Examination in Mathematics and scored higher than any
student previously from the
I went to Stanford to study for a PhD in Mathematics, but my real interest was Logic. I was still looking to find the truth, and I was sure that Logic would be the key to finding it. My best course was axiomatic set theory with Dana Scott. He gave us lots of theorems to prove as homework. At first my marks were not very impressive. But Dana Scott marked the coursework himself, and wrote lots of comments. My marks improved significantly as a result.
Barwise was among the other students entering Stanford as a PhD student that
year, in 1963. We were friends, but also competitors. He discovered that
Stanford had an exchange program with the
exchange program started with an intensive Polish course at the end of the
summer. I didn’t get any credit for the courses I attended at the
I spent much of my time on extra-curricular activities. I met and visited my Polish relatives, including my grandparents, who lived near the Russian border. I also met my future wife, Danusia, a student in the Mathematics Department at the University. We got married after only a few months in February 1965.
I returned to Stanford with my wife at the beginning of the next academic year,
I found it hard to convince myself that studying complex variables and
recursion theory would lead me to the truth, and I was upset by the war that
was developing in
Ray and I both went up in the first few bombing missions. We practiced over Stanford and other places in the San Fransisco area. Our first attempt nearly ended in disaster, when the leaflets got caught in the tail of the plane.
main goal was to bomb the Rose Bowl football game in
Eventually, Ray was arrested on our last mission, when he went up without me.
left Stanford in the middle of the academic year. Fortunately, I had taken
enough courses to leave with a Master’s degree. I applied for work teaching
Mathematics at various universities, mostly outside the
was excited by the prospect of living and working in
the meanwhile my first daughter, Dania, was born. I left
used our savings from
Meltzer was working on the automation of mathematical proofs. Although I wasn’t
convinced about the value of the research topic, I was determined not to drop
out of another PhD. I was lucky. Alan Robinson, the inventor of resolution, was
finished my PhD in just over two years; and, with a second daughter, Tania,
knew I wasn’t going to be offered the Fellowship at
The best thing about the fellowship was that it left me with plenty of time to explore my real interests. In those days they were mainly in philosophy of science and epistemology. I remember reading and being influenced by Lakatos’ “Proofs and Refutations”, Nelson Goodman’s “Fact, Fiction and Forecast”, and Quine’s “Two Dogmas of Empiricism”. I didn’t appreciate it at the time, but in retrospect I was lucky that Bernard encouraged me to explore these broader interests.
My reading of Lakatos’ philosophy of mathematics reinforced my own experiences with research on automated mathematical theorem proving. Lakatos documented how the history of Euler’s theorem could be viewed as a succession of conjectured theorems, attempted proofs, revised definitions and counterexamples. In my own case, my own research led me to the conclusion that it’s harder to discover theorems that are worth proving than it is to prove arbitrary ones.
These considerations had a big impact on my later work. For better of worse, I came to believe that it is more important to question whether a theorem is worthwhile than it is to prove a theorem that has no use. The downside of this is, of course, that it is easy to make claims that cannot later be justified.
Things were also happening around me in the world of Logic and Artificial Intelligence. Attacks were being launched from MIT against anything that hinted of Logic. Declarative representations in general were bad, and procedural representations were good.
In the face of these attacks, many of the researchers working on the use of Logic for theorem proving moved into other areas. But I couldn’t accept the view that Logic was dead.
had been working on a form of resolution, called SL-resolution, with Donald
Kuehner, who had been one of my mathematics teachers at the
SL-resolution uses Logic in a goal-oriented way. We pointed this out at the end of our paper, and I set out to convince my colleagues that the goal-oriented approach of SL-resolution reconciles Logic with the procedural approach advocated at MIT.
In the summer of 1971 I received an invitation from Alain Colmerauer to visit him in Marseille. He was working on natural language understanding, using Logic as a representation of meaning and using resolution to derive answers to questions. He was interested in my work on theorem proving and on SL-resolution in particular. My family and I stayed with him and his family in their small flat for several days. He and I worked late into the night, discovering how to use Logic to represent grammars and how to use theorem provers for parsing. We saw that some theorem provers, like hyper-resolution, behaved as bottom-up parsers and others, like SL-resolution, behaved as top-down parsers.
We decided to continue our collaboration, and Alain invited me to visit him again for a longer period of two months the following summer of 1972. It was during that second visit that logic programming, as we commonly understand it, was born.
I have tried to document as best I could our various contributions to that idea in an article published in CACM, 1988. In summary, however, it is probably fair to say that my own contributions were mainly philosophical and Alain’s were more practical. In particular, Alain’s work led in the same summer of 1972 to the design and implementation of the logic programming language Prolog.
were heady days. It was obvious to some of us that we were onto a good idea.
also had visitors who were especially attracted to the logic programming idea.
They included Luis Pereira from
Sometime in 1973 or 1974, I was invited to apply for
a Readership in the Department of Computing and Control at
It took about a year to confirm my appointment,
partly because there was another strong candidate, and partly because doubts
were raised about my suitability for the post. I started in January 1975, and
was assigned to teach a course on formal languages and automata theory
immediately upon my arrival. I knew next to nothing about the subject, and I
had little interest in it. Fortunately, Keith Clark, then working as a lecturer
Fortunately, after the first couple of years, I was able to focus on teaching in the areas of logic, logic programming, and artificial intelligence, which were central to my interests. I had to cheat a little in the beginning, for example by setting the students the problem of writing a Prolog interpreter in Cobol, as a programming exercise in the comparative programming languages course.
My first few years at Imperial College combined
learning enough of the basics of Computing to do my teaching, writing my book
“Logic for Problem Solving” and promoting the cause of logic programming in
general. In this latter pursuit, I was especially fortunate in recruiting Chris
Hogger and in helping to bring Keith Clark into the Department. I also
organised the first Logic Programming Workshop, at
The book was very hard work, and it seemed to take forever. To make matters worse, in those days I didn’t type, and I had to rely entirely on others to do all the typing. The final draft was a camera-ready copy produced on a line printer, using ancient word-processing technology. When I finished I knew it would be a long time before I wrote another book.
In 1978 I started a course of logic lessons for 12 year old children at my daughters’ middle school. We solved logic problems in Prolog on the Departmental computer, using a pay phone connection. The connection would be lost whenever our coins ran out.
Once we demonstrated the feasibility of teaching logic to children, I succeeded in getting support from the Science Research Council to develop microProlog, a microprocessor implementation of Prolog, for use in schools. The project employed Frank McCabe to do the implementation and Richard Ennals to develop and test the teaching materials.
Perhaps the worst thing about my work in those days
was the fact that the MSc. course lasted throughout the summer and deprived me
of the opportunity to get away from my normal commitments. Earlier, both when I
was a student and when I was a postdoctoral researcher in
everything changed. In 1981, MITI in
British government responded by forming a committee chaired by John Alvey, the
Director of Research at British Telecom. The academic community, led by the
Science Research Council, formed its own committees to advise the Alvey
Committee. I was enlisted along with many others to help draft recommendations
for the British response. Although I was not yet a full Professor, I was the
most senior academic in
It was chaos. Academics argued with academics, industrialists with both academics and fellow industrialists - all presided over by the British civil service. We all wanted to carve out a slice of the action for ourselves. Some of us went further by arguing that we should follow the lead of the Fifth Generation Project and focus on logic programming to the detriment of other areas. That was a big mistake.
My position in the Department deteriorated, as I came into conflict with my academic colleagues, who wanted the government to focus on mainstream software engineering and formal method approaches. It wasn’t much better on the national level, where logic programming was still seen very much as a new comer (and some would say an intruder) on the Computing scene. In the end, by the time the Alvey Committee produced its recommendations, virtually every area of Computing and related Electronics was singled out for special promotion. But logic programming hardly received a mention.
British government decided to decline the Japanese invitation and to go it
alone. The “Alvey Programme” was established, and eventually, after much
further debate, logic programming was identified, along with all the other
areas, as worthy of special promotion. By around 1985, as a result of the Alvey
Programme and with a lot of help from Keith Clark, the logic programming group
My position in the Department and that of the logic programming group were strained. We wanted to establish ourselves as a separate entity, and the Department wanted to keep us in our place. In the autumn of 1987 I took a six-month leave of absence, to get away from it all.
From 1981 to 1987, my professional life was dominated by academic politics. It was not an area of activity to which I was naturally drawn, but rather an area into which I was pushed by events around me. Inevitably the politics interfered with my research.
Fortunately, I was able to continue to make contributions to research by working with PhD students. I worked with Marek Sergot on the application of logic programming to legal reasoning, and along with several other members of the group, including a new PhD student Fariba Sadri , we investigated the logic programming formalisation of the British Nationality Act. In the atmosphere of the Alvey era, even this caused controversy: We were accused of racism, because it was supposed by some of our critics that the work must have been supported by the British government to further its racist policies. I ended up writing to the Guardian, a national newspaper, to try to clear our names.
Marek and I also worked on the representation of temporal reasoning, developing a calculus of events, in the spirit of John McCarthy’s situation calculus, but focusing on the way in which the occurrence of events initiates and terminates local states of affairs. This work became a major thread of a European Community research project, which explored among other applications an application to air traffic flow management. Murray Shanahan further developed the event calculus and featured it in his book about the frame problem.
Fariba and I worked on integrity checking for deductive databases. We developed a proof procedure that uses forward reasoning, triggered by an update, to check that a database that satisfied integrity constraints before the update continues to satisfy the integrity constraints after the update. We also investigated the relationship between integrity constraints in databases and rules and exceptions in default reasoning.
I had hoped, during my six-month leave of absence to work on a second book, which I tentatively titled “Logic for Knowledge Representation”. Instead, I worked mainly with another PhD student, Kave Eshghi, on abductive logic programming. We adapted the proof procedure for integrity checking to the problem of checking that abductive hypotheses, generated by abductive logic programs, satisfy integrity constraints. We applied the proof procedure to give an abductive interpretation of negation as failure in logic programming.
as my leave of absence was ending, I received an invitation from
Soon after the start of the Compulog project, Fujitsu Research Laboratories, which was one of the main partners in the Japanese Fifth Generation Project, approached the College with a proposal to support research on logic programming in our group. As a result of the subsequent discussions, Fujitsu supported a five-year project, focused on abductive logic programming, during the period 1990-95.
In the beginning, the Fujitsu project supported Francesca Toni, as a research student. But, when the first three-year grant for the Compulog project ended, I transferred to the Fujitsu project and extended the leave of absence from my College work.
During the first part of this period, I worked mainly on abductive logic programming with Francesca Toni and Tony Kakas. While trying to give an intuitive explanation of Dung’s admissibility semantics for logic programming, we formulated an interpretation of the semantics in terms of arguments defending themselves against attack from other arguments.
generalised and abstracted this argumentation interpretation of the
admissibility semantics and applied it to other logics for default reasoning.
Francesca and I collaborated with Dung during his several visits to
Towards the end of the Fujitsu project, Fujitsu encouraged me to investigate the application of logic programming to multi-agent systems. This proved to be the most important turning point in my research since my work on logic programming in 1972.
The biggest surprise, which came out of this work, was the realisation that, as a model of computation and reasoning, logic programming is much more restricted than I had previously understood. Fortunately, our earlier work on integrity checking in deductive databases and on abductive logic programming provided much of what was missing. Integrity constraints and integrity checking provided not only the missing functionality of condition-action rules, but also the additional functionality of commitment rules, prohibitions and obligations. Fariba Sadri joined me in this work.
When the Fujitsu contract ended, I became slowly reintegrated into the life of the Department. Logic programming was beginning to go out of fashion, and the logic programming group was no longer seen as a threat to the balance of power. Indeed, my own rehabilitation was so complete that, during the period 1994-97, I became a member of a four person Departmental Executive Committee, and was even given the title of ”Senior Deputy Head of Department”.
I’m not really sure what motivated me to get so involved in the running of the Department. Perhaps I wanted to show that I could rise above the parochial interests of the logic programming group and could help to look after the interests of the Department as a whole.
The Department had both external and internal problems. Externally, we suffered the same fate as many other Computing Departments elsewhere. We were the poor relation of the more established departments, and we were inadequately resourced in comparison. When the College decided it should do more to promote Information Technology, it looked primarily to the Electronics and Electrical Engineering Department for its lead.
To some extent, our low standing in the College was partially our own doing, the result of a long history of internal conflicts between different, competing groups. Perhaps it was because I had once been in conflict with the rest of the Department myself and because I had now made my peace that I was so welcome on the Department’s Executive Committee.
I began to find my teaching more and more tedious. The biggest problem was preparing the examinations. The British examination system is very rigid, and examination papers have to conform to strict constraints. In particular, they need to be approved by an external examiner, and have to be prepared early enough to leave time for any changes required by the external examiner. As a consequence, questions often need to be set and submitted for approval before a course is halfway through. I found that these constraints increasingly inhibited the amount of spontaneity and enthusiasm I could generate for my teaching.
In November 1996, the then Head of Department was so unhappy with the state of the Department and with our relations with the College that he resigned from his post. He agreed to stay on as Head until the Rector found a replacement. By the beginning of March 1997, there was still no news from the Rector, and the rumour went around that the Department would be broken up and distributed between the Mathematics and the EEE Departments. In desperation, as Senior Deputy Head of Department, I went to talk to the Rector myself.
My real goal was to return to full time research, to work on my book and to be my own boss. Instead, the Rector invited me to become Head of Department, and I accepted. One reason that I agreed to become Head was that I thought that it would give me the opportunity to apply Logic to the practical problems of the Department.
I planned to try to develop general rules to solve problems that would otherwise involve individual, ad hoc negotiations – such problems as deciding academic workloads, the amount of overheads needed for research grants, and the distribution of research grant overheads between the Department and the grant holders. I thought that establishing a clear set of rules that applied to everyone alike, without favour or malice, would take the politics out of making decisions.
At first, I looked to the College for examples of best practice. I found a number of different methods used in other departments to calculate and regulate workloads, but I couldn’t convince the staff in the Computing Department to try them out. Believing in Logic to the extent that I did, I wasn’t inclined to impose by force what I couldn’t achieve by logical argument.
I was even less successful in getting advice in the College about how to calculate the amount and distribution of research grant overheads; and this was one of the areas where some of the most difficult problems arose in the Department. People couldn’t agree whether research overheads should mainly support the groups doing the research or support the Department as a whole. The College as a whole had no policy about this, and different departments had widely different policies and practices. Discussions in our Department didn’t produce any consensus either.
Although I tried hard to formulate general rules, I didn’t succeed in convincing the Department. In addition, there were too many other problems that needed attention. These ranged from external problems of trying to get more resources from the College to internal problems of allocating scarce resources, such as office space, within the Department. I was surprised and disappointed to discover the extent to which people were unwilling to sacrifice their own personal interests for the greater good of the community as a whole.
resigned as Head of Department, handing over to my successor in July 1999, and
taking early retirement, at the age of 58, on
Having left the Department, I planned to focus on writing my book about the application of Computational Logic to everyday life, aimed at a general, non-technical audience. But first there were a number of other matters that needed to be cleared out of the way, some purely academic and others domestic. These took longer than I expected.
the meanwhile, I was able to take advantage of extended invitations to the
other activites in which I have taken part, I organised a number of “writers’
workshops”, mainly for PhD students at
enjoyed these workshops more than any of the other teaching I had done since
My main focus remains on the book I am writing, and I have now made enough progress on the book to acknowledge that I am actually writing it. Trying to make it accessible to an intelligent, but non-technical audience is proving to be much more difficult than I had expected, and to some extent you could say that I am still trying to find my new voice.
interest in Logic and my search for truth were triggered in part by my high
school reading of Joad’s “Guide to Philosophy”. I would read one chapter, say
about Plato’s philosophy of ideas, and be totally convinced; and then read
another chapter, say about Aristotle’s empiricism, and be convinced again, only
this time about a completely different philosophy. One of the reasons I later
majored in mathematics at the
My studies of Logic and Mathematics led me to the truth I was looking for. I became a relativist, an idealist and a pragmatist. The truth, I thought, is that there is no truth. Any set of beliefs is as good as any other set of beliefs, provided it is coherent and is tolerant of other beliefs. In mathematics, I adhered to the philosophy of formalism, which holds that mathematics is just a symbol manipulation game, tempered by quasi-empiricism, which holds that abstract mathematical theories and theorems are to be assessed by their value for more concrete applications.
The attractions to me of the idea that truth is relative, that truth lies in the mind, and that the ultimate test of a set of beliefs is whether or not they work in practice were not just theoretical, but also ethical. It seemed to me that much of the evil that there is in the world can be traced to a belief that there is only one truth and that all other beliefs are not only false but are not to be tolerated.
This philosophy influenced my technical work. I wrote a paper called “Logic without Model Theory”, which argued that Logic could be understood in purely syntactic terms, without the classical notion of truth, which relates sentences representing beliefs with real states of affairs. I maintained that, instead of truth, what we need is an appropriate notion of coherence, which relates beliefs with observation sentences describing the belief holder’s interactions with the environment. I formulated an earlier version of this idea in the final chapter of my book, Logic for Problem Solving.
More recently, this philosophy has also underpinned my work with Francesca and Dung on the theory of argumentation. The theory formalises the idea that a set of beliefs is admissible, provided only that it can defend itself against all objections and that it does not object to itself. This is a “credulous” philosophy, which tolerates the possibility that there can be more than one set of admissible beliefs dealing with the same situation.
My recent work with Fariba on multi-agent systems or, more accurately, on agents that combine proactive and reactive behaviour has made me rethink my earlier idealist philosophy. I now believe that the idealist philosophy undervalues the significance of the environment in which agents are embedded. I believe, differently from before, that the environment is a real world, which gives meaning to an agent’s thoughts, in the same way that a model, in the sense of model theory, gives meaning to sentences in logical form.
This new philosophy does not mark a complete reversal of the earlier one. In particular, it is compatible with the credulous argumentation theory and with the pragmatist philosophy that the ultimate test of a set of beliefs is that it be useful for dealing with experience. Only now, I believe, not that experience might be a virtual experience, all in the mind, but rather that it is imposed upon us by an external reality.
The new philosophy has both technical and ethical implications. Technically, it takes the notion of truth, rather than proof, to be the core relation that links beliefs with experience. In particular, whereas before, in my work on the situation calculus and event calculus, I regarded the meta-predicate holds(P, T) as expressing that the proposition P can be proved at T, I now regard it as expressing that P is true at T.
The new, realist philosophy also supports the approach to multi-agent systems that uses a shared memory or environment to coordinate interactions between agents, in preference to the message passing model of interaction that seems to be more prevalent today, and which was earlier the dominant model of concurrency in logic programming and the Fifth Generation Project.
Ethically, it challenges the more liberal relativist ethics, which comes dangerously close to holding that there is no right or wrong, only tolerance and intolerance. It is something that I haven’t yet fully thought through.
There is another theme that has influenced my life and work, perhaps going back, like my concerns about truth, to problems in my childhood. In many respects, it a variant of the problem of whether there is one truth or many alternatives: What should we do when two belief systems come into conflict, and when the appeal to mutual tolerance is not good enough?
I like to think that much of my technical work has been motivated by trying to reconcile conflicts between different technical approaches to related problems. The best example of this is the way that logic programming emerged from the conflict between logical and procedural representations of knowledge.
Here the solution was not just to live and let live, although that would have been far better than to kill or be killed. It was to try to disentangle the points of conflict from the points of agreement, to operate, as much as possible, on a higher, more abstract level, where concrete and sometimes arbitrary decisions are irrelevant, and then to put the pieces back together again, leaving out the ones that caused the most trouble and keeping in the ones that contributed the most benefit.
My work on combining proactive and reactive reasoning is both the most recent and the most explicit such attempt at conflict resolution. Here the proposed solution is not just to combine two existing alternative approaches, logic programming and production systems, but to find a point of overlap and to unify the alternatives at that point. In this case, the proposal unifies integrity constraints with condition-action rules. It combines logic programs, which are missing in production systems, with the agent cycle, which is missing in logic programming.
Another recent attempt at reconciliation is the work on argumentation with Francesca and Dung, in which we develop a more abstract approach to argumentation, which has most of the alternative, earlier approaches to default reasoning as concrete instances. Thus, we have been able to show that the alternative, conflicting approaches are mostly identical at the abstract level, and differ only in the different ways in which they make concrete choices.
I have always tried to relate my technical work to every-day life, but so far, my informal attempts to develop systematic procedures for conflict resolution have not produced very impressive results. In particular, the results of my attempts as Head of Department were particularly disappointing to me. Part of the problem is, even if you can find a rational way of reconciling a conflict, you can’t always convince the relevant parties to accept the solution – especially if one of them has to give up something without receiving anything in return. None-the-less, finding ways to systematically reconcile conflicts is an area that I still hope to contribute to in the future.