A note on the Declarative reading(s) of Logic Programming
Marc Denecker

TL;DR
This paper explores different declarative interpretations of logic programming, highlighting how diverse readings like default reasoning and definitions can lead to similar semantics despite conceptual differences.
Contribution
It analyzes the reasons why distinct declarative readings of logic programming converge to similar model semantics.
Findings
Different declarative readings can lead to the same model semantics.
Negation as failure can be viewed as modal operator or classical negation.
The paper clarifies the causes of semantic convergence in logic programming.
Abstract
This paper analyses the declarative readings of logic programming. Logic programming - and negation as failure - has no unique declarative reading. One common view is that logic programming is a logic for default reasoning, a sub-formalism of default logic or autoepistemic logic. In this view, negation as failure is a modal operator. In an alternative view, a logic program is interpreted as a definition. In this view, negation as failure is classical objective negation. From a commonsense point of view, there is definitely a difference between these views. Surprisingly though, both types of declarative readings lead to grosso modo the same model semantics. This note investigates the causes for this.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, Reasoning, and Knowledge · Multi-Agent Systems and Negotiation · Logic, programming, and type systems
