Skip to main navigation Skip to search Skip to main content

A Survey of the Proof-Theoretic Foundations of Logic Programming

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)859-904
Number of pages46
JournalTheory and Practice of Logic Programming
Volume22
Issue number6
DOIs
Publication statusPublished - 1 Nov 2022

Fingerprint

Dive into the research topics of 'A Survey of the Proof-Theoretic Foundations of Logic Programming'. Together they form a unique fingerprint.

Cite this