Foundations of Logic Programming (Chapter 1: Preliminaries)

Reference: J. W. Lloyd (1987). Springer-Verlag, Second Extended Edition. Source file: 2022-08-18 13-38-01-Lloyd.pdf. URL

Summary

The opening chapter of Lloyd’s canonical textbook on the mathematical foundations of logic programming. It introduces first-order theories, syntax (alphabets, terms, well-formed formulas, clauses, Horn clauses), interpretations and models, and Herbrand semantics as the preferred route for reasoning about logical consequence of a program.

Lloyd motivates logic programming as Kowalski’s insight that “algorithm = logic + control”: a definite program is a set of Horn clauses (the logic), and the inference strategy (SLD-resolution, search order) is the control. He distinguishes “system” languages (committed-choice, concurrent) from “application” languages (PROLOG-style), and sets up the semantic machinery — Herbrand interpretations, models, logical consequence, unsatisfiability — needed for the rest of the book.

Key Ideas

  • Algorithm = Logic + Control (Kowalski’s principle)
  • Horn clauses as the executable fragment of first-order logic
  • Herbrand universe and base; Herbrand interpretations suffice for clause sets
  • Definite programs vs normal programs (negation)
  • SLD-resolution as refutation procedure (developed in later chapters)

Connections

Conceptual Contribution

Tags

#logic-programming #prolog #foundations #first-order-logic

Backlinks