Characterizations and Implementation of Static Semantics of Disjunctive Programs

In recent years, much work was devoted to the study of theoretical foundations of Disjunctive Logic Programs and Disjunctive Deductive Databases. While the semantics of non-disjunctive programs is fairly well understood and there exist several implementations of the best known semantics (well-founded semantics and stable semantics), the declarative and computational foundations of disjunctive programming proved to be much more elusive and difficult. Consequently, as of now, there is no general agreement concerning the “proper” semantics of disjunctive programs. Quite recently, however, two new and very promising semantics have been proposed for the class of disjunctive logic programs. Both of them extend the well-founded semantics of normal programs. The first one is the static semantics proposed by Przymusinski and the other is the DWFS semantics proposed by Brass and Dix. Although the two semantics are based on very different ideas, they turn out to be quite closely related, and, in fact, they are completely equivalent when restricted to the suitable “common language”. This paper is devoted to an in-depth study of the static semantics in the class of so called superprograms, which properly contains the class of disjunctive logic programs. We first establish three powerful syntactic and semantic characterizations of the static semantics, significantly simplifying the original definition. Subsequently, we demonstrate the applicability and importance of the above characterizations by using one of them as an inference engine in a Prolog implementation of an query-answering interpreter for static semantics in the class of super-programs.

[1]  Gaetano Aurelio Lanzarone,et al.  Static Semantics as Program Transformation and Well-founded Computation , 1994, NMELP.

[2]  Jürgen Dix,et al.  Disjunctive Semantics based upon Partial and Bottom-Up Evaluation , 1995, ICLP.

[3]  Jürgen Dix,et al.  Semantics of Logic Programs: Their Intuitions and Formal Properties. An Overview , 1996, Logic, Action, and Information.

[4]  Jorge Lobo,et al.  Foundations of disjunctive logic programming , 1992, Logic Programming.

[5]  Drew McDermott,et al.  Non-Monotonic Logic I , 1987, Artif. Intell..

[6]  Jürgen Dix,et al.  A general Approach to Bottom-Up Computation of Disjunctive Semantics , 1994, NMELP.

[7]  Jack Minker,et al.  On Indefinite Databases and the Closed World Assumption , 1987, CADE.

[8]  John McCarthy,et al.  Circumscription - A Form of Non-Monotonic Reasoning , 1980, Artif. Intell..

[9]  Chiaki Sakama,et al.  Partial Deduction of Disjunctive Logic Programs: A Declarative Approach , 1994, LOPSTR.

[10]  François Bry,et al.  Negation in Logic Programming: A Formalization in Constructive Logic , 1990, IS/KI.

[11]  François Bry,et al.  Logic programming as constructivism: a formalization and its application to databases , 1989, PODS.

[12]  Teodor C. Przymusinski,et al.  On the Relationship Between Circumscription and Negation as Failure , 1989, Artif. Intell..

[13]  Jack Minker,et al.  An Overview of Nonmonotonic Reasoning and Logic Programming , 1993, J. Log. Program..

[14]  Teodor C. Przymusinski A Knowledge Representation Framework Based on Autoepistemic Logic of Minimal Beliefs , 1994, AAAI.