Researcher

Keith Clark

Also known as Keith Leonard Clark, Keith L. Clark

Keith Clark is a British computer scientist who joined Robert Kowalski in 1975 to set up the logic programming group at Imperial College London, which became the Logic and AI section of its Department of Computing. His 1978 paper "Negation as Failure" described a rule that infers a negated fact when every possible proof of that fact fails. With Frank McCabe he founded Logic Programming Associates in 1980 to market micro-PROLOG, and with his student Steve Gregory he designed Parlog, a logic programming language for parallel computers. In 1986, he became the first president of the Association for Logic Programming, which named him one of its 15 Founders of Logic Programming in 1997. Later agent languages such as Go!, QuLog and TeleoR carried his work into multi-agent systems and robot control, and he is an Emeritus Professor and Distinguished Research Fellow at Imperial.

Born
1943

Years link to their sources.

Timeline

  1. 1964–1975

    Lecturer at Queen Mary College

    Born in 1943, he earns a first-class mathematics degree at Durham University's Hatfield College in 1964 and a second degree, in philosophy, at Cambridge in 1966. After a year teaching in Sierra Leone with Voluntary Service Overseas, he lectures in computer science in the mathematics department of Queen Mary College from 1969 to 1975. There he helps develop an automata theory course whose notes become a book in 1975.

  2. 1975

    Logic programming group at Imperial

    A keen convert to logic programming, he guides Robert Kowalski through a formal languages and automata theory course at Imperial College London in 1975. He then moves to Imperial as a senior lecturer and joins Kowalski in setting up the logic programming group, which becomes the Logic and AI section of the Department of Computing.

  3. 1976–1980

    Negation as failure

    He presents work on negation as failure at a 1976 logic programming workshop at Imperial and publishes the paper "Negation as Failure" in 1978. The paper describes a Horn clause theorem prover with a rule that infers not-P when every possible proof of P fails. In 1980, he earns a PhD from the University of London, with Kowalski as advisor, for the thesis Predicate Logic as a Computational Formalism.

  4. 1980–1986

    Micro-PROLOG and Parlog

    In 1980, he and Frank McCabe found Logic Programming Associates, an Imperial College spin-off that develops and markets micro-PROLOG for microcomputers. Also in 1980, he and his student Steve Gregory bring committed-choice nondeterminism and stream-communicating and-parallelism into logic programming, a paradigm Japan's Fifth Generation project later adopts. The two design Parlog, a logic programming language for parallel computer architectures, and describe it in a 1986 paper in ACM Transactions on Programming Languages and Systems.

  5. 1985–1987

    First president of the ALP

    Around 1985, Alvey Programme grants and his help let Imperial's logic programming group grow to about 50 people. In 1986, he becomes the first president of the newly founded Association for Logic Programming, and Imperial appoints him Professor of Computational Logic in 1987.

  6. 1997

    Named a founder of logic programming

    In 1997, the Association for Logic Programming names him one of 15 Founders of Logic Programming, a group that also includes Alain Colmerauer, Robert Kowalski and J. Alan Robinson.

  7. 1990–2015

    Go!, QuLog and TeleoR

    After 1990, he concentrates on rule-based languages for multi-agent and cognitive robotic applications, including Go!, a multi-threaded agent language he publishes with McCabe in 2004. With Peter Robinson of the University of Queensland, he builds QuLog, a typed logic, function and action rule language, and TeleoR, an extension of Nilsson's teleo-reactive procedures for robotic agents. A June 2015 talk at the University of British Columbia presents their multi-tasking TeleoR agent architecture.

  8. As of October 2026

    Emeritus professor at Imperial

    He is an Emeritus Professor and Distinguished Research Fellow in the Department of Computing at Imperial College London. His research interests include multi-agent systems, cognitive robotics, multi-threaded symbolic programming languages and teleo-reactive procedures and plans.

Career

  1. Since 1975Imperial College LondonSenior Lecturer
  2. From 1980Logic Programming AssociatesCo-founder
  3. 1969–1975Queen Mary University of LondonLecturer in Computer Science
  4. Voluntary Service OverseasTeacher

Education

  1. 1980University of LondonPhD
  2. 1966University of CambridgePhilosophy degree
  3. 1964Durham UniversityMathematics degree

Sources and credits

Photo: We have no published photo of Keith Clark yet. Send us a free-licensed photo.

  1. Keith Clark (computer scientist) - Wikipedia en.wikipedia.org. Checked 20 October 2026.
  2. ICINCO 2018 - Keynote Speakers ewh.ieee.org. Checked 20 October 2026.
  3. Robert Kowalski: A Short Story of My Life and Work doc.ic.ac.uk. Checked 20 October 2026.
  4. Negation as Failure doc.ic.ac.uk. Checked 20 October 2026.
  5. Keith Clark - The Mathematics Genealogy Project mathgenealogy.org. Checked 20 October 2026.
  6. Parlog - Wikipedia en.wikipedia.org. Checked 20 October 2026.
  7. ALP History – Association for Logic Programming logicprogramming.org. Checked 20 October 2026.
  8. Association for Logic Programming - Wikipedia en.wikipedia.org. Checked 20 October 2026.
  9. Keith Clark's Home Page doc.ic.ac.uk. Checked 20 October 2026.
  10. Programming Robotic Agents: A Multi-tasking Teleo-Reactive Approach | Computer Science at UBC cs.ubc.ca. Checked 20 October 2026.
  11. Keith Clark | About | Imperial College London profiles.imperial.ac.uk. Checked 20 October 2026.
  12. Emeritus and Honorary staff | Faculty of Engineering | Imperial College London imperial.ac.uk. Checked 20 October 2026.