Success and Failure for Hereditary Harrop Formulae

Abstract We introduce the foundational issues involved in incorporating the NEGATION as FAILURE (NAF) rule into the framework of first-order hereditary Harrop formulae of Miller et al. This is a larger class of formulae than Horn clauses, and so the technicalities are more intricate than in the Horn clause case. As programs may grow during execution in this framework, the role of NAF and the CLOSED WORLD ASSUMPTION (CWA) need some modification, and for this reason we introduce the notion of a completely defined predicate, which may be thought of as a localisation of the CWA. We also show how this notion may be used to define a notion of NAF for a more general class of goals than literals alone. We also show how an extensional notion of universal quantification may be incorporated. This makes our framework somewhat different from that of Miller et al., but not essentially so. We also show how to construct a Kriple-like model for the extended class of programs. This is essentially a denotational semantics for logic programs, in that it provides a mapping from the program to a pair of sets of atoms that denote the success and (finite) failure sets. This is inspired by the work of Miller on the semantics on first-order hereditary Harrop formulae. Note that no restriction on the class of programs is needed in this approach, and that our construction needs no more than ω iterations. This necessitates a slight departure from the standard methods, but the important properties of the construction still hold.

[1]  Dov M. Gabbay,et al.  N-Prolog: An Extension of Prolog with Hypothetical Implications I , 1984, J. Log. Program..

[2]  L. Thorne McCarty,et al.  Clausal Intuitionistic Logic I - Fixed-Point Semantics , 1988, J. Log. Program..

[3]  D.M. Gabbay,et al.  N-Prolog: An Extension of Prolog with Hypothetical Implication II - Logical Foundations, and Negation as Failure , 1985, J. Log. Program..

[4]  Kenneth Kunen,et al.  Negation in Logic Programming , 1987, J. Log. Program..

[5]  Tim Flannagan The Consistency of Negation as Failure , 1986, J. Log. Program..

[6]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[7]  Melvin Fitting,et al.  A Kripke-Kleene Semantics for Logic Programs , 1985, J. Log. Program..

[8]  Gopalan Nadathur,et al.  Uniform Proofs as a Foundation for Logic Programming , 1991, Ann. Pure Appl. Log..

[9]  Journal of the Association for Computing Machinery , 1961, Nature.

[10]  Sten-Åke Tärnlund,et al.  Horn clause computability , 1977, BIT.

[11]  Dale Miller,et al.  A Logical Analysis of Modules in Logic Programming , 1989, J. Log. Program..

[12]  James Harland,et al.  On hereditary Harrop formulae as a basis for logic programming , 1991 .

[13]  James Harland,et al.  On Normal Forms and Equivalence for Logic Programs , 1992, JICSLP.

[14]  Smbat Abian,et al.  A theorem on partially ordered sets, with applications to fixed point theorems , 1961 .

[15]  Robert A. Kowalski,et al.  The Semantics of Predicate Logic as a Programming Language , 1976, JACM.

[16]  Giorgio Levi,et al.  A New Declarative Semantics for Logic Languages , 1988, ICLP/SLP.

[17]  A. Troelstra Metamathematical investigation of intuitionistic arithmetic and analysis , 1973 .

[18]  Liz Sonenberg,et al.  Fixed Point Theorems and Semantics: A Folk Tale , 1982, Inf. Process. Lett..