Generated by GPT-5-mini| Prolog | |
|---|---|
| Name | Prolog |
| Paradigms | Logic programming, declarative programming |
| Designer | Alain Colmerauer, Philippe Roussel |
| First appeared | 1972 |
| Typing | Dynamic, weak |
| Influenced by | First-order logic, Robinson's resolution, Edinburgh syntax |
| Influenced | Mercury, Datalog, Erlang |
Prolog Prolog is a logic programming language developed for symbolic computation and artificial intelligence. It originated from work by Alain Colmerauer and Philippe Roussel and was shaped through interactions with researchers at the University of Montpellier, the University of Edinburgh, and institutions involved with the Artificial Intelligence Laboratory at MIT. Prolog's design and adoption involved connections to researchers such as Robert Kowalski, institutions like IBM, and conferences including IJCAI and the ACM SIGPLAN meetings.
Prolog emerged in the early 1970s amid collaborations linking Alain Colmerauer, Philippe Roussel, the University of Marseille, the University of Edinburgh, and the CNRS; contemporaneous developments involved Robert Kowalski, John McCarthy, and researchers at MIT's Artificial Intelligence Laboratory, while dissemination occurred via conferences such as IJCAI, AAAI, and ACM SIGPLAN. Subsequent standardization efforts involved the Association for Logic Programming and contributors from the University of Bordeaux, University of Paris, and University of Tokyo, with language evolution influenced by concepts from Alan Robinson's resolution theorem, J. Alan Robinson, and Christopher Reeve's era of symbolic AI research. Commercialization and industrial use brought Prolog into companies like IBM, DEC, and Siemens and intersected with academic projects at Stanford, Carnegie Mellon University, and the University of Edinburgh, while later work influenced languages and systems such as Mercury, Datalog research at Bell Labs, and constraint logic programming efforts at INRIA.
Prolog's syntax and clause structure were shaped by influences from first-order logic, Alan Turing's legacy at Bletchley Park, and the Edinburgh syntax conventions used at the University of Edinburgh and Imperial College London. The language uses facts, rules, and queries resembling Horn clauses from Alfred Horn and notation common in logic texts authored by Kurt Gödel, Alonzo Church, and Emil Post; implementations adopted syntax conventions refined at the University of Marseille and University of Aix-Marseille. Key syntactic constructs relate to pattern matching used in ML research at INRIA, term unification reflecting work at the University of Glasgow, and list processing conventions popularized by researchers at Stanford and MIT; these conventions have been discussed at conferences such as POPL and PLDI.
Prolog's execution model rests on SLD-resolution derived from Alan Robinson's resolution principle and modus ponens reasoning used in texts by Hao Wang and E. W. Dijkstra, while practical evaluation strategies were influenced by operational semantics studied at the University of Edinburgh and University of Paris. The search strategy employs depth-first search with backtracking as characterized in works by Robert Kowalski, John McCarthy, and Donald Knuth, and tail recursion techniques discussed in papers from ACM SIGACT and IEEE. Negation as failure and its semantic treatment relate to studies by Keith Clark and Michael Kifer and connect to nonmonotonic reasoning research presented at conferences such as IJCAI and KR; extensions to handle constraints draw on research from INRIA, Bell Labs, and the European ESPRIT projects.
Multiple implementations have been developed by academic and commercial organizations including the University of Edinburgh's Edinburgh Prolog, the Warren Abstract Machine originating with David H. D. Warren at the University of Bristol and SRI International, SICStus Prolog from SICS and Swedish research groups, SWI‑Prolog from the University of Amsterdam and Vrije Universiteit Amsterdam, and commercial offerings from Quintus (Quintus Computer Systems) and XSB (State University of New York at Stony Brook). Extensions and related projects include constraint logic programming work at INRIA and IC-Parc, tabling mechanisms developed at XSB influenced by work at IBM Research and SUN Microsystems, parallel execution efforts connected to the European Union projects and the MIT AI Lab, and type and mode systems inspired by Mercury research at the University of Melbourne and Royal Melbourne Institute of Technology.
Prolog has been applied in artificial intelligence projects at Stanford, Carnegie Mellon University, and MIT, including natural language processing efforts connected to the University of Pennsylvania and Columbia University, expert systems used in pharmaceutical companies and Siemens, knowledge representation tasks at the University of Edinburgh and University of Tokyo, and theorem proving influenced by work at Princeton and the Institute for Advanced Study. It has found use in databases and semantic web prototypes linked to W3C activities, constraint solving in scheduling systems at NASA and ESA, robotics projects at MIT and ETH Zurich, and education at universities such as Oxford, Cambridge, and the University of California system.
Performance considerations led to the Warren Abstract Machine devised by David H. D. Warren and subsequent low-level optimizations implemented in systems from Quintus, SICStus, and SWI‑Prolog; these optimizations were informed by compiler research at Carnegie Mellon University, Bell Labs, and the University of Cambridge. Techniques such as indexing, last-call optimization, tabling, and constraint propagation were advanced through collaborations involving IBM Research, INRIA, and SUN Microsystems and evaluated in venues like PLDI, POPL, and ICLP; parallel execution and just-in-time compilation experiments took place at the University of Tokyo, University of Bristol, and various European research consortia.