Robert Kowalski: A Short Story of My Life and Work


April  2002




I was born in Bridgeport, Connecticut, USA, on 15 May 1941. I went to Saint Michael’s, a Catholic primary school in Bridgeport, attached to a Polish parish, but I didn’t learn much Polish. My parents would speak Polish when they didn’t want us children to understand. I was a good student, but not outstanding. There were 60 children in my class, 17 girls and 43 boys.


I went to Fairfield Prep, a boys-only Jesuit High School. It took a long time to travel between home and school. In my second year, my Latin teacher, Father Walsh, started to train four of us to compete in Latin sight translation contests. The goal was to translate a previously unseen Latin text into English without a dictionary.


The 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 New England, and I was the top student on the team.


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.


University of Chicago and University of Bridgeport


For these reasons, I was attracted to study at the University of Chicago, and intellectually I was not disappointed. Among the other great ideas to which I was exposed in my first year, I was introduced to mathematical logic; and it seemed to me that it might be the way to find the truth.


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.


At the beginning of my second year, I was beginning to find the social life at the University of Chicago very difficult. On top of that, we had to read extracts from Gibbon’s “Decline and Fall of the Roman Empire”, and I was overwhelmed by the list of “impedimenta” that the Roman troops had to carry with them to their battles. It was the last straw. I left Chicago in November of my second year.


I spent the rest of that academic year trying to find myself. I signed up for an expedition to find gold in Honduras, only to abandon the journey somewhere in Ohio. I worked for half a year in a chemical factory as a quality control inspector.


The following academic year, I enrolled at the University of Bridgeport and commuted, with my brothers, Bill and Dan, from my parents’ home in Milford. The University of Bridgeport was easy after Chicago. I decided to major in Mathematics, partly because there was no major in Philosophy and partly because I thought it would keep my later options open.


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.


Academically, after getting my scholarship, the best thing about the University of Bridgeport was that it left me plenty of time for independent study. Mostly I studied Logic. My favourite title was “The Meaning of Meaning”. I also diagnosed the problems with my English and started to make big improvements in my writing style.


I took the Graduate Record Examination in Mathematics and scored higher than any student previously from the University of Bridgeport. In a sense, I cheated by taking the exam twice, first at the end of my third year and then at the end of my fourth year. I won Woodrow Wilson and National Science Foundation Fellowships for graduate study. They published my photograph in the Bridgeport Post.


Stanford and University of Warsaw


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.


Jon 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 University of Warsaw, noted for its work in Mathematical Logic. We both applied for the program. I got in, but he didn’t because he was judged to be too young.


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 University of Warsaw, but I didn’t have to take any exams and I could focus exclusively on the logic courses. I took courses with Helena Rasiowa, Andrzej Grzegorczyk and Andrzej Mostowski.


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.


Before going to Poland I had no interest in politics or current affairs. But I had been brought up during the Cold War, and the Jesuits were rabidly anti-communist. I expected Poland to be totally devoid of freedom, and I was surprised how different it actually was.


When 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 Vietnam. I became one of the organizers of the protest movement and found my niche dreaming up ideas and convincing other people to put them into action. I had the idea of dropping anti-war leaflets from airplanes, and convinced my flatmate, Ray Tiernan, a childhood friend from Bridgeport , to organize the bombing campaign.


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.


Our main goal was to bomb the Rose Bowl football game in Los Angeles. Ray and I worked out an elaborate scheme to change the registration number on the side of the plane, ripping the false number off in mid-fight, to minimise the chance of our getting caught when we made our getaway. Unfortunately, when we landed in the Mohave Dessert, before the game, to change the number, the plane burst a tire, and we were too late to get to the Rose Bowl in time for the game. We bombed Disney Land instead.


Eventually, Ray was arrested on our last mission, when he went up without me.


Puerto Rico and Edinburgh


I 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 United States. I had several offers, and eventually accepted a job as Assistant Professor and Acting Chairman of the Mathematics and Physics Department at the Inter-American University in San Juan, Puerto Rico.


I was excited by the prospect of living and working in Puerto Rico, and I studied as much Spanish as I could before leaving. I don’t have very clear memories of the one year I worked in Puerto Rico, but it convinced me that I had to start again and finish a PhD if I wanted people to take me as seriously as I desired. I applied to several universities in Great Britain. Eventually I accepted the offer of a Fellowship from Bernard Meltzer, Head of the Meta-mathematics Unit at the University of Edinburgh.


In the meanwhile my first daughter, Dania, was born. I left Puerto Rico, knowing less Spanish than when I started, because everyone wanted to practice their English.


We used our savings from Puerto Rico to buy a car when we got to England, and we drove it to Edinburgh, after a detour to Poland and Italy, arriving in October 1967. I remember arriving at the doorway of the Meta-mathematics Unit, and seeing the sign: “Department of Computer Science”. My heart sank. I hated computers, but I decided I would stick it out, get my PhD as quickly as possible, and resume my search for truth.


Bernard 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 in Edinburgh spending a year’s sabbatical. He had just finished a paper on semantic trees applied to theorem proving with equality. Pat Hayes, another fresh PhD student, and I studied Alan’s paper in minute detail. In only a few months, we both wrote our first research paper - on semantic trees.


I finished my PhD in just over two years; and, with a second daughter, Tania, born in Edinburgh, I was free to start a new life. I decided to look for a job in the UK. But it wasn’t as easy as I had hoped. I was eventually interviewed for two jobs – one a Fellowship at Pembroke College at Oxford University, the other a Lectureship in the Mathematics Department at the University of Essex.


I knew I wasn’t going to be offered the Fellowship at Pembroke College when the Master of the College introduced me to one of the Fellows as Mr. Kowalski from the University of Bridgeport. I didn’t get the other job either. I had to settle instead for a postdoctoral fellowship in the Meta-mathematics Unit. My third daughter, Janina, was born in Edinburgh that same year.


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.


I had been working on a form of resolution, called SL-resolution, with Donald Kuehner, who had been one of my mathematics teachers at the University of Bridgeport. (I visited Donald on one of my visits back home and convinced him to come to Edinburgh to do his PhD. Like me, he thrived in the British PhD environment.)


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.


Those were heady days. It was obvious to some of us that we were onto a good idea. Back in Edinburgh, I was lucky in recruiting converts to the cause, David Warren and Maarten van Emden being the most prominent of the earliest recruits. Bob Boyer and J Moore were also attracted to the idea, and it led to their later work on proving properties of programs written in Lisp.


Edinburgh at that time was a world-renowned centre of research in Artificial Intelligence, and I benefited from the opportunity to discuss ideas with other researchers, including Alan Bundy, Rod Burstall, Michael Gordon, Donald Michie , Gordon Plotkin, and Robin Milner, who were working in Edinburgh at that time, and with visitors such as Aaron Sloman and Danny Bobrow.


We also had visitors who were especially attracted to the logic programming idea. They included Luis Pereira from Lisbon, Sten Ake Tarnlund from Stockholm, Peter Szeredi from Budapest and Maurice Bruynooghe from Leuven. I travelled extensively in Europe, giving talks about the new cause.


Before leaving Edinburgh and before finishing my work on automated theorem proving, I developed the connection graph proof procedure. Ironically, the proof procedure was so efficient that even until now there has been no proof of its completeness and only counterexamples to certain limiting cases. (My experience was that, if a proof procedure is inefficient, then for any given theorem there are many, redundant proofs. Therefore, the fewer the redundancies, the harder it is to prove that there exists any proof at all. In other words, the more efficient the proof procedure, the harder it is to prove its completeness.) This was yet another experience that reinforced my reservations about the significance of proving mathematical theorems with insufficient concern for their significance.


Imperial College


Sometime in 1973 or 1974, I was invited to apply for a Readership in the Department of Computing and Control at Imperial College in London. A British Readership is the approximate equivalent of a tenured Associate Professorship in an American university, with the additional feature of being primarily for research. It was an almost unique opportunity to advance my career, and it had the added attraction of being in London, at that time one of the most cosmopolitan and desirable places to live in the world. I jumped at the chance.


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 at Queen Mary College in London, was a keen convert to logic programming, and he provided me with guidance for the course. I muddled through, but it was an unhappy introduction to the Department.


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 Imperial College in 1976.


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.


I visited Syracuse University for an academic term and collaborated with Ken Bowen on amalgamating object level and meta-level logic programming. Our goal was to combine the two levels for practical applications without introducing inconsistencies. Unfortunately, the results were inconclusive. I continued to work on the application of the amalgamated logic to knowledge representation until the early 1990s.


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 Edinburgh, I relied upon such opportunities to clear my mind and to explore broader intellectual interests.


The Alvey Programme


Then everything changed. In 1981, MITI in Japan announced the Fifth Generation Project, whose stated goal was to leapfrog IBM in ten years time. The governments of Britain, France and Germany were invited to participate, and logic programming was intended to play a dominant role. Our group at Imperial College was then the internationally leading centre for logic programming, and it was the obvious choice of British research collaborator for the Japanese initiative.


The 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 Britain arguing the logic programming case.


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.


The 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 at Imperial College expanded to approximately 50 people, including PhD students, research assistants, academics and support staff. These were supported by thirteen separate, three-year research grants. The administrative and managerial burden was enormous. For my reward - or consolation - I was promoted to a Professorship in 1982.


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.


Just as my leave of absence was ending, I received an invitation from Brussels to discuss the possibility of helping to organise a project involving the main academic groups in the European Community working on logic programming. The resulting project, Compulog , employed Fariba as an academic replacement to do my College work, so that during the period 1989-91 I could work full time as a researcher and the project’s coordinator . I continued the research that I started earlier, but with greater focus than before.


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.


Dung 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 Imperial College, supported first by the Fujitsu project and later by a European Community “Keep in Touch” research project.


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.


Back in the Department


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.


Head of Department


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.


I resigned as Head of Department, handing over to my successor in July 1999, and taking early retirement, at the age of 58, on 1st September 1999.


Professor Emeritus


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.


In the meanwhile, I was able to take advantage of extended invitations to the University of Melbourne in 1999-2000, to the University of Hokkaido in 2000 and 2001, and to the Ecole Polytechnic Federale in Lausanne in 2001-2002. These helped me greatly to return to full time research and to recover from my period as Head of Department.


Among other activites in which I have taken part, I organised a number of “writers’ workshops”, mainly for PhD students at Imperial College and elsewhere. During the workshops, we studied abstracts of the students’ papers and PhD dissertations, and we discussed and debated ways of improving them. We tried to generalise the individual examples and to develop explanatory theories to justify our proposed improvements. I was especially pleased to discover the extent to which the techniques of Computational Logic could be used to underpin these theories.


I enjoyed these workshops more than any of the other teaching I had done since joining Imperial College . Compared with my lecture courses, which were a stale recitation of predetermined conclusions, the workshops were an exciting, mutual learning experience. The students seemed to enjoy them as much as I did, and for similar reasons. In addition, they could also see how the theory applied directly to their own immediate experience.


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.


The Search for Truth


My 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 University of Bridgeport was because it seemed to offer the best example of undisputable truth, which might provide a guide to other truths elsewhere.


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.


Conflict resolution


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.