# Completeness for propositional logic programs with negation

## Abstract

Whether logic programming is declarative depends on the technical condition of soundness and completeness: answers produced by resolution should be exactly the logical consequences of an easily understandable completion of the program. For SLDNF-resolution (on which Prolog is based), and for programs with negation, this goal has not yet been achieved, even at the propositional level.

In this paper we prove soundness and completeness of SLDNF-resolution for the full class of propositional programs with negation (including normal programs). This is done in several ways: in classical, intuitionistic, intermediate, and modal logics. In each version we use an intuitively natural program completion, which is different from Clark's completion. The results of the paper can be of interest for rule-based expert systems which represent knowledge in propositional logic.

## Keywords

logic programming declarative programming SLD-resolution negation as failure constructive negation soundness and completeness non-classical logics rule-based expert systems knowledge representation in logic## Preview

Unable to display preview. Download preview PDF.

## References

- [1]K. R. Apt, Introduction to Logic Programming, in J. Van Leeuven, editor,
*Handbook of Theoretical Computer Science*, North Holland, 1989.Google Scholar - [2]K. R. Apt, H. A. Blair and A. Walker, Towards a Theory of Declarative knowledge, in [17], pp. 89–148.Google Scholar
- [3]K. R. Apt and M. H. van Emden, Contributions to the Theory of Logic Programming,
*J. ACM*29, 3, July 1982, pp. 841–862.Google Scholar - [4]L. Cavedon and J. W. Lloyd, A Completeness Theorem for SLDNF Resolution,
*Journal of Logic Programming*, 1989, vol. 7, No 3, pp. 177–192.Google Scholar - [5]K. L. Clark, Negation as Failure, in
*Logic and Databases*, H. Gallaire and J. Minker (eds.), Plenum Press, New York, 1978, 193–322.Google Scholar - [6]K. L. Clark, Predicate Logic as a Computational Formalism,
*Research Report DOC 79/59*, Dept. of Computing, Imperial College, 1979.Google Scholar - [7]M. Fitting and M. Ben Jacob, Stratified and Three-valued Logic Programming Semantics, in [13], pp. 1054–1069.Google Scholar
- [8]D. Gabbay, Modal Provability Foundations for Negation as Failure I, 4
^{th}draft, Feb 1989, unpublished.Google Scholar - [9]J. Jaffar, J.-L. Lassez and J. W. Lloyd, Completeness of the negation as failure rule,
*IJCAI-83*, Karlsruhe, 1983, pp. 500–506.Google Scholar - [10]R. A. Kowalski, Predicate Logic as a Programming Language,
*Information Processing '74*, Stockholm, North Holland, 1974, pp. 569–574.Google Scholar - [11]R. A. Kowalski, Algorithm=Logic + Control,
*Communications of the ACM*22, 7, July 1979, pp. 424–436.Google Scholar - [12]R. A. Kowalski, The Relation Between Logic Progamming and Logic Specification, in C. A. R. Hoare and J. C. Shepherdson (eds.)
*Mathematical Logic and Programming Languages*, Prentice Hall, Englewood Cliffs, N.J. 1985, pp. 11–27.Google Scholar - [13]R. A. Kowalski and K. A. Bowen (eds.),
*Logic Programming, Proceedings of the Fifth International Conference and Symposium*, MIT Press, 1988.Google Scholar - [14]K. Kunen, Signed Data Dependencies in Logic Programs,
*Journal of Logic Programming*, 1989, vol. 7, No 3, pp.231–247.Google Scholar - [15]V. Lifschitz, On the Declarative Semantics of Logic Programs with Negation, in [17], pp. 177–192.Google Scholar
- [16]J. W. Lloyd,
*Foundations of Logic Programming*, Second extended edition, Springer Verlag, 1987.Google Scholar - [17]J. Minker (ed.),
*Foundations of Deductive Databases and Logic Programming*, Morgan Kaufmann, 1988.Google Scholar - [18]J. A. Plaza,
*Fully Declarative Programming with Logic — Mathematical Foundations*Ph.D. Dissertation, City University of New York, July 1991.Google Scholar - [19]H. Przymusińska and T. Przymusiński, Weakly Perfect Model Semantics for Logic Programs, in [13], pp. 1106–1123.Google Scholar
- [20]T. C. Przymusiński, On the Declarative Semantics of Deductive Databases and Logic Programs, in [17], pp. 193–216.Google Scholar
- [21]J. C. Shepherdson, Negation in Logic Programming, in [17], pp. 19–88.Google Scholar