Hostname: page-component-7b7567c8c-wxvwp Total loading time: 0 Render date: 2026-11-15T09:08:58.663Z Has data issue: false hasContentIssue false

A Survey of the Proof-Theoretic Foundations of Logic Programming

Published online by Cambridge University Press:  18 November 2021

DALE MILLER*
Affiliation:
Inria-Saclay & LIX, Ecole Polytechnique, Palaiseau, France (e-mail: dale@lix.polytechnique.fr)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Several formal systems, such as resolution and minimal model semantics, provide a framework for logic programming. In this article, we will survey the use of structural proof theory as an alternative foundation. Researchers have been using this foundation for the past 35 years to elevate logic programming from its roots in first-order classical logic into higher-order versions of intuitionistic and linear logic. These more expressive logic programming languages allow for capturing stateful computations and rich forms of abstractions, including higher-order programming, modularity, and abstract data types. Term-level bindings are another kind of abstraction, and these are given an elegant and direct treatment within both proof theory and these extended logic programming languages. Logic programming has also inspired new results in proof theory, such as those involving polarity and focused proofs. These recent results provide a high-level means for presenting the differences between forward-chaining and backward-chaining style inferences. Anchoring logic programming in proof theory has also helped identify its connections and differences with functional programming, deductive databases, and model checking.

Information

Type
Original Article
Copyright
© The Author(s), 2021. Published by Cambridge University Press