A Survey of the Proof-Theoretic Foundations of Logic Programming
From MaRDI portal
Abstract: Several formal systems, such as resolution and minimal model semantics, provide a framework for logic programming. In this paper, 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.
Recommendations
Cites work
- A fixpoint semantics for disjunctive logic programs
- A formulation of the simple theory of types
- A framework for defining logics
- A higher-order abstract syntax approach to verified transformations on functional programs
- A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification
- A logical analysis of modules in logic programming
- A logical characterization of forward and backward chaining in the inverse method
- A logical semantics for depth-first Prolog with ground negation
- A Machine-Oriented Logic Based on the Resolution Principle
- A mathematical definition of full Prolog
- A new constructive logic: classic logic
- A new definition of SLDNF-resolution
- A Prolog technology theorem prover: Implementation by an extended Prolog compiler
- A proof of cut-elimination theorem in simple type-theory
- A proof procedure for the logic of hereditary Harrop formulas
- A proof theory for generic judgments
- A proof theory for model checking
- A Proof-Theoretic Approach to Logic Programming
- A Proof-Theoretic Approach to Logic Programming. I. Clauses as Rules
- A proof-theoretic approach to the static analysis of logic programs
- A semantic framework for proof evidence
- A structural approach to operational semantics
- A system of interaction and structure
- A treatment of higher-order features in logic programming
- A two-level logic approach to reasoning about computations
- A unification algorithm for typed -calculus
- A Uniform Proof-theoretic Investigation of Linear Logic Programming
- Abella: a system for reasoning about relational specifications
- Algorithm = logic + control
- An adequate compositional encoding of bigraph structure in linear logic with subexponentials
- An efficient context-free parsing algorithm
- Automated theorem proving and logic programming: a natural symbiosis
- Call-by-value is dual to call-by-name
- Classical and intuitionistic subexponential logics are equally expressive
- Clausal intuitionistic logic I. fixed-point semantics
- Clausal intuitionistic logic II. tableau proof procedures
- Concerning formulas of the types A→B ν C,A →(Ex)B(x) in intuitionistic formal systems
- Contributions to the Theory of Logic Programming
- Correspondences between classical, intuitionistic and uniform provability
- Cut-elimination for a logic with definitions and induction
- Edinburgh LCF. A mechanized logic of computation
- Efficient resource management for linear logic proof search
- ELPI: fast, embeddable, Prolog interpreter
- Encoding a dependent-type λ-calculus in a logic programming language
- Encryption as an abstract data-type (extended abstract)
- First-order Answer Set Programming as Constructive Proof Search
- Focused linear logic and the \(\lambda\)-calculus
- Focusing and Polarization in Intuitionistic Logic
- Focusing and polarization in linear, intuitionistic, and classical logics
- Forum: A multiple-conclusion specification logic
- Foundation of logic programming based on inductive definition
- From operational semantics to abstract machines
- FSTTCS 2005: Foundations of Software Technology and Theoretical Computer Science
- Functionality in Combinatory Logic
- Higher-order Horn clauses
- Higher-order unification with dependent function types
- HiLog: A foundation for higher-order logic programming
- Horn clause computability
- scientific article; zbMATH DE number 1692891 (Why is no real title available?)
- scientific article; zbMATH DE number 2185657 (Why is no real title available?)
- scientific article; zbMATH DE number 2185722 (Why is no real title available?)
- scientific article; zbMATH DE number 5852776 (Why is no real title available?)
- scientific article; zbMATH DE number 4180832 (Why is no real title available?)
- scientific article; zbMATH DE number 3860370 (Why is no real title available?)
- scientific article; zbMATH DE number 3859117 (Why is no real title available?)
- scientific article; zbMATH DE number 3878393 (Why is no real title available?)
- scientific article; zbMATH DE number 4209572 (Why is no real title available?)
- scientific article; zbMATH DE number 5344975 (Why is no real title available?)
- scientific article; zbMATH DE number 3976991 (Why is no real title available?)
- scientific article; zbMATH DE number 3988745 (Why is no real title available?)
- scientific article; zbMATH DE number 4035108 (Why is no real title available?)
- scientific article; zbMATH DE number 4094864 (Why is no real title available?)
- scientific article; zbMATH DE number 3659008 (Why is no real title available?)
- scientific article; zbMATH DE number 3793435 (Why is no real title available?)
- scientific article; zbMATH DE number 42059 (Why is no real title available?)
- scientific article; zbMATH DE number 65531 (Why is no real title available?)
- scientific article; zbMATH DE number 192840 (Why is no real title available?)
- scientific article; zbMATH DE number 3466489 (Why is no real title available?)
- scientific article; zbMATH DE number 1215493 (Why is no real title available?)
- scientific article; zbMATH DE number 1223634 (Why is no real title available?)
- scientific article; zbMATH DE number 1342286 (Why is no real title available?)
- scientific article; zbMATH DE number 478394 (Why is no real title available?)
- scientific article; zbMATH DE number 517072 (Why is no real title available?)
- scientific article; zbMATH DE number 704873 (Why is no real title available?)
- scientific article; zbMATH DE number 1158756 (Why is no real title available?)
- scientific article; zbMATH DE number 1531964 (Why is no real title available?)
- scientific article; zbMATH DE number 1765697 (Why is no real title available?)
- scientific article; zbMATH DE number 1765708 (Why is no real title available?)
- scientific article; zbMATH DE number 2134912 (Why is no real title available?)
- scientific article; zbMATH DE number 1361537 (Why is no real title available?)
- scientific article; zbMATH DE number 1841821 (Why is no real title available?)
- scientific article; zbMATH DE number 2090529 (Why is no real title available?)
- scientific article; zbMATH DE number 2090533 (Why is no real title available?)
- scientific article; zbMATH DE number 773979 (Why is no real title available?)
- scientific article; zbMATH DE number 786489 (Why is no real title available?)
- scientific article; zbMATH DE number 786494 (Why is no real title available?)
- scientific article; zbMATH DE number 1420805 (Why is no real title available?)
- scientific article; zbMATH DE number 3320385 (Why is no real title available?)
- scientific article; zbMATH DE number 3343519 (Why is no real title available?)
- scientific article; zbMATH DE number 3349775 (Why is no real title available?)
- scientific article; zbMATH DE number 3365218 (Why is no real title available?)
- scientific article; zbMATH DE number 3366543 (Why is no real title available?)
- scientific article; zbMATH DE number 3400430 (Why is no real title available?)
- scientific article; zbMATH DE number 3085192 (Why is no real title available?)
- scientific article; zbMATH DE number 7649978 (Why is no real title available?)
- Hybrid and subexponential linear logics
- IeanCOP: lean connection-based theorem proving
- Implementing tactics and tacticals in a higher-order logic programming language
- Implementing type theory in higher order constraint logic programming
- Intuitionistic propositional logic is polynomial-space complete
- Kripke semantics for higher-order type theory applied to constraint logic programming languages
- Kripke-style models for typed lambda calculus
- lean\(T^ AP\): Lean tableau-based deduction
- Lectures on the Curry-Howard isomorphism
- Linear concurrent constraint programming: Operational and phase semantics
- Linear logic
- Linear Logical Algorithms
- Linear-time algorithms for testing the satisfiability of propositional horn formulae
- Logic Programming
- Logic programming and negation: A survey
- Logic programming in a fragment of intuitionistic linear logic
- Logic Programming with Focusing Proofs in Linear Logic
- Logical Approaches to Computational Barriers
- Magically constraining the inverse method using dynamic polarity assignment
- Making prolog more expressive
- Mechanized metatheory revisited
- N-Prolog: An extension of prolog with hypothetical implication. II. Logical foundations, and negation as failure
- N-Prolog: An extension of Prolog with hypothetical implications. I.
- Nominal abstraction
- Nominal logic, a first order theory of names and binding
- Non-commutative logic. I: The multiplicative fragment
- On goal-directed provability in classical logic
- On structuring proof search for first order linear logic
- On subexponentials, focusing and modalities in concurrent systems
- Partial evaluation in logic programming
- Petri nets, Horn programs, linear logic and vector games
- Programming with higher-order logic.
- Proof checking and logic programming
- Provability in Elementary Type Theory
- Proving and applying program transformations expressed with second-order patterns
- Representing and Reasoning with Operational Semantics
- Resolution in type theory
- Specifying proof systems in linear logic with subexponentials
- Structural proof theory. With an appendix by Aarne Ranta
- Subexponential concurrent constraint programming
- Subexponentials in non-commutative linear logic
- SWI-Prolog
- The completeness of the first-order functional calculus
- The duality of computation under focus
- The foundation of a generic theorem prover
- The lambda calculus. Its syntax and semantics. Rev. ed.
- The Mathematics of Sentence Structure
- The polarized \(\lambda\)-calculus
- The Semantics of Predicate Logic as a Programming Language
- The well-founded semantics for general logic programs
- Top-down and bottom-up evaluation procedurally integrated
- Transformation of logic programs: Foundations and techniques
- Translating between implicit and explicit versions of proof
- Unification under a mixed prefix
- Uniform proofs as a foundation for logic programming
- Uniform provability in classical logic
Cited in
(5)- Foundations of Logic Programming in Hybridised Logics
- scientific article; zbMATH DE number 559187 (Why is no real title available?)
- scientific article; zbMATH DE number 1420805 (Why is no real title available?)
- Designing a safe forward chaining tactic using productive proofs
- On the expressive power of implication in classical propositional logic
This page was built for publication: A Survey of the Proof-Theoretic Foundations of Logic Programming
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q6063891)