Languages / Concept
Logic Programming
Programs as logical statements to be proved.
Logic programming turns the usual model inside out. Instead of telling the machine how to compute, you state what is true — as facts and logical rules — and let an inference engine search for answers by proving goals.
The machinery underneath is resolution, a proof method J. Alan Robinson formalised in 1965, restricted to Horn clauses to stay efficient. Robert Kowalski framed the programming view of it, captured in his slogan algorithm = logic + control: the logician writes the logic, the system handles the control.
Its great practical realisation is Prolog. The idea lives on in Datalog, in constraint programming, and in the query engines behind modern databases.
Sources
- Kowalski, “Logic Programming” (overview) — the field explained by one of its founders.
See also: Prolog.