---
title: "Prolog in 10 Figures"
authors:
  - "Alain Colmerauer"
year: 1985
venue: "Communications of the ACM"
arxiv: null
doi: "10.1145/214956.214958"
source: "https://doi.org/10.1145/214956.214958"
topics:
  - prolog
  - colmerauer
  - logic-programming
  - unification
seed_rank: 679
seed_batch: "perfects-pl-2026-08-13"
reviewed: "2026-08-13"
pool: "languages"
relevance_score: 10
lineage: programming-language-foundations
cites:
  - title: "Predicate Logic as Programming Language"
    url: "https://www.doc.ic.ac.uk/~rak/papers/IFIP74.pdf"
    year: 1974
    arxiv: null
    doi: null
  - title: "Algorithm = Logic + Control"
    url: "https://doi.org/10.1145/359131.359136"
    year: 1979
    arxiv: null
    doi: "10.1145/359131.359136"
see:
  - "677-predicate-logic-as-programming-language"
  - "678-algorithm-logic-control"
---

# Prolog in 10 Figures

## One-sentence takeaway

Colmerauer explains Marseille Prolog with ten diagrams: unification, resolution, and backtracking as the mechanisms Japan had just picked for fifth-generation machines.

## Why it matters here

Inventor-side Prolog, complementary to Kowalski's logic reading — the card you want when GRID COMMAND needs a concrete picture of unification-plus-search rather than a slogan. The old DOI was a 1985 CACM education note.

## Key ideas

- Figures carry the load: terms as trees, unification as grafting, SLD resolution as a search tree, backtracking as walking that tree.
- Historical framing is Marseille Prolog and the 1981 Japanese fifth-generation report, not a formal semantics paper.
- Prolog is presented as a *practical* logic language whose operational model *is* the language definition most programmers use.
- CACM 28(12):1296–1310, December 1985, DOI 10.1145/214956.214958.

## Caveats

## Links

- DOI: [10.1145/214956.214958](https://doi.org/10.1145/214956.214958)
