Truth versus information in logic programming
From MaRDI portal
Abstract: The semantics of logic programs was originally described in terms of two-valued logic. Soon, however, it was realised that three-valued logic had some natural advantages, as it provides distinct values not only for truth and falsehood, but also for "undefined". The three-valued semantics proposed by Fitting and by Kunen are closely related to what is computed by a logic program, the third truth value being associated with non-termination. A different three-valued semantics, proposed by Naish, shared much with those of Fitting and Kunen but incorporated allowances for programmer intent, the third truth value being associated with underspecification. Naish used an (apparently) novel "arrow" operator to relate the intended meaning of left and right sides of predicate definitions. In this paper we suggest that the additional truth values of Fitting/Kunen and Naish are best viewed as duals. We use Belnap's four-valued logic, also used elsewhere by Fitting, to unify the two three-valued approaches. The truth values are arranged in a bilattice which supports the classical ordering on truth values as well as the "information ordering". We note that the "arrow" operator of Naish (and our four-valued extension) is essentially the information ordering, whereas the classical arrow denotes the truth ordering. This allows us to shed new light on many aspects of logic programming, including program analysis, type and mode systems, declarative debugging and the relationships between specifications and programs, and successive executions states of a program. This paper is to appear in Theory and Practice of Logic Programming (TPLP).
Recommendations
Cites work
- scientific article; zbMATH DE number 3872640 (Why is no real title available?)
- A kripke-kleene semantics for logic programs*
- A lattice-theoretical fixpoint theorem and its applications
- A logic covering undefinedness in program proofs
- A three-valued semantics for logic programmers
- A typed logic of partial functions reconstructed classically
- Bilattices and the semantics of logic programming
- Bottom-up dataflow analysis of normal logic programs
- Computer science today. Recent trends and developments
- Derivation of Logic Programs
- Fixpoint semantics for logic programming a survey
- Hypothesis-based semantics of logic programs in multivalued logics
- Kleene's Logic, Generalized
- Logic programming revisited: logic programs as inductive definitions
- Logic-based program synthesis and transformation. 19th international symposium, LOPSTR 2009, Coimbra, Portugal, September 2009. Revised selected papers
- Negation in logic programming
- On notation for ordinal numbers
- Paraconsistent declarative semantics for extended logic programs
- Partiality and nondeterminacy in program proofs
- Proof systems for reasoning about computation errors
- Static analysis. 1st international symposium, SAS '94, Namur (Belgium), September 28--30, 1994. Proceedings
- The Semantics of Predicate Logic as a Programming Language
- The family of stable models
- The recursion-theoretic complexity of the semantics of predicate logic as a programming language
- Towards a logical semantics for pure Prolog
Cited in
(8)- Bilattices and the semantics of logic programming
- Correctness and completeness of logic programs
- A three-valued semantics for logic programmers
- scientific article; zbMATH DE number 1418327 (Why is no real title available?)
- scientific article; zbMATH DE number 1759493 (Why is no real title available?)
- Nondeterministic three-valued logic: isotonic and guarded truth-functions
- Bi-state logic
- scientific article; zbMATH DE number 4057054 (Why is no real title available?)
This page was built for publication: Truth versus information in logic programming
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2933087)