Prolog Logic Programming Language Created by Alain Colmerauer and Philippe Roussel
In 1972, Alain Colmerauer and Philippe Roussel at the University of Aix-Marseille created Prolog (Programmation en Logique), a declarative programming language grounded in first-order predicate logic, enabling computers to reason over symbolic knowledge without requiring procedural step-by-step instructions.

Background
Most programming languages in the early 1970s told the computer exactly what to do, in what order. You wrote a procedure: fetch this value, compare it to that one, loop until the condition fails. The programmer’s job was to describe the steps. The computer’s job was to follow them.
That worked well enough for arithmetic and data processing. It worked badly for problems that looked more like reasoning. If you wanted a program to answer questions about family relationships, or check whether a legal rule applied to a set of facts, you had to translate that knowledge into sequences of operations yourself. The logic was yours to carry; the machine just executed.
Researchers in logic and linguistics had a different intuition. Formal logic, the kind developed by mathematicians and philosophers over the previous century, let you state facts and rules directly: “A is the parent of B. B is the parent of C. Anyone who is a parent of a parent is a grandparent.” In principle, a machine could take those statements and work out what followed from them, without anyone writing a procedure to do it. The gap was that no one had yet built a practical programming language around that idea.
What happened
Alain Colmerauer and Philippe Roussel at the University of Aix-Marseille set out to close that gap. Their starting point was natural language: Colmerauer was working on programs that could parse and respond to French sentences, and he wanted a formalism that could represent grammatical and logical relationships directly. Through 1971 and into 1972, the two of them, working with colleagues in Marseille, built what they called Prolog, short for Programmation en Logique, programming in logic.
The language was built on first-order predicate logic, a formal system for expressing relationships between objects and for stating general rules about them. Rather than telling the machine how to solve a problem step by step, a Prolog programmer wrote a set of facts and rules, then posed a query. The interpreter would search through the rules automatically, using a technique called resolution theorem proving, to find whether the query could be satisfied and, if so, under what conditions. Robert Kowalski at the University of Edinburgh contributed work that was essential to making this practical: his procedural interpretation of Horn clauses, a restricted form of logical statements, showed how the same logical rule could be read both as a declaration of fact and as an instruction the interpreter could execute. That double reading is what gave Prolog its character.
The first working Prolog interpreter was running by late 1971, according to Colmerauer’s own account in the 1993 HOPL-II proceedings. The language took clearer shape across 1972. It was written in Fortran initially, and it was slow by later standards, but it could do something genuinely new: a programmer could describe a problem in logical terms and let the machine search for a solution, rather than having to specify the path to that solution in advance. For natural language parsing and early work on knowledge representation, that was exactly the kind of tool researchers had been looking for.
Why it mattered
Prolog provided AI researchers with a practical tool for encoding logical rules and querying them efficiently, making it central to expert systems, natural language processing, and automated theorem proving through the 1970s and 1980s. Its adoption as the implementation language for many knowledge-based systems shaped the architecture of AI applications before the rise of statistical methods. The language also directly inspired Japan's Fifth Generation Computer Systems project, a government-funded initiative begun in 1982 that treated Prolog-style logic programming as the foundation for a new class of intelligent machines.
People
Alain Colmerauer, Philippe Roussel, Robert Kowalski
Organisations
University of Aix Marseille, University of Edinburgh
Sources
- The Birth of Prolog.ACM SIGPLAN Notices / History of Programming Languages.Primary source
- The Origins of the Prolog Language (HOPL-II proceedings).ACM.Primary source
- Logic for Problem Solving, Robert Kowalski (North-Holland, 1979).Elsevier / North-Holland.Secondary
Cite this page
AI Achievements. (1972). Prolog Logic Programming Language Created by Alain Colmerauer and Philippe Roussel. Retrieved 2026-08-22, from https://achievements.ai/milestone/prolog-developed-by-alain-colmerauer
@misc{achievements_prolog_developed_by_alain_colmerauer,
title = {Prolog Logic Programming Language Created by Alain Colmerauer and Philippe Roussel},
author = {{AI Achievements}},
year = {1972},
url = {https://achievements.ai/milestone/prolog-developed-by-alain-colmerauer}
}