Skip to main content
Log in

First-order theories for pure Prolog programs with negation

  • Published:
Archive for Mathematical Logic Aims and scope Submit manuscript

Abstract

The standard theory of logic programming is not applicable to Prolog programs even not to pure code. Modifying the theory to take account of reality more is the motivation of this article. For this purpose we introduce the ℓ-completion and the inductive extension of a logic program. Both are first-order theories in a language with operators for success, failure and termination of goals. The ℓ-completion of a logic program is a sound and complete axiomatization of the Prolog depth-first search under certain natural conditions; the inductive extension of the ℓ-completion is a suitable theory for proving termination and equivalence of pure Prolog programs with negation.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Andrews, J.: A logical semantics for depth-first Prolog with ground negation. Technical Report CSS/LCCR TR93-10, Centre for Systems Science, Simon Fraser University 1993

  2. Apt, K.R.: Logic programming. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, Vol. B, chapter 10, pp. 495–574. Amsterdam: Elsevier 1990

    Google Scholar 

  3. Apt, K.R.: Declarative programming in Prolog. In: Miller, D. (ed.) Logic Programming — Proceedings of the 1993 International Symposium, pp 11–35. MIT Press 1993

  4. Apt, K.R., Pedreschi, D.: Proving termination of general Prolog programs. In: Ito, T., Meyer, A.R. (eds.) Theoretical Aspects of Computer Software, pp. 265–289. Lect. Notes Comput. Sci. 526. Berlin Heidelberg New York: Springer 1991

    Google Scholar 

  5. Apt, K.R., Pedreschi, D.: Reasoning about termination of pure Prolog programs. Information and Computation106(1), 109–157 (1993)

    Google Scholar 

  6. Börger, E., Rosenzweig, D.: A mathematical definition of full Prolog.SSci. Comput. Program (to appear)

  7. Clark, K.L.: Negation as failure. In: Gallaire, H., Minker, J. (eds.) Logic and Data Bases, pp. 293–322. New York: Plenum Press 1978

    Google Scholar 

  8. Cohen, J., Hickey, T.J.: Parsing and compiling using Prolog. ACM Trans. Program. Lang. Syst.9(2), 125–163 (1987)

    Google Scholar 

  9. Doets, K.: From Logic to Logic Programming. MIT-Press 1994

  10. Drabent, W.: Completeness of SLDNF-resolution for non-floundering queries. J. Logic Program. (to appear)

  11. Fitting, M.: A Kriple-Kleene semantics for logic programs. J. Logic Program.2, 295–312 (1985)

    Google Scholar 

  12. Fitting, M.: Bilattices and the semantics of logic programming. J. Logic Program.11, 91–116 (1991)

    Google Scholar 

  13. Hösli, B., Jäger, G.: About some symmetries of negation. J. Symb. Logic59(2), 473–485 (1994)

    Google Scholar 

  14. Jäger, G. A deductive approach to logic programming. In: Schwichtenberg, H. (ed.) Proof and Computation, pp. 133–172. NATO Advanced Study Institute, International Summer School held in Marktoberdorf, Germany, Berlin: Springer (to appear)

  15. Jäger, G., Stärk, R.F.: A proof-theoretic framework for logic programming. In: Buss, S. (ed.) Handbook of Proof Theory. In preparation

  16. Kunen, K.: Negation in logic programming. J. Log Program.4(4), 289–308 (1987)

    Google Scholar 

  17. Kunen, K.: Signed data dependencies in logic programs. J. Log Program.7(3), 231–245 (1989)

    Google Scholar 

  18. Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Berlin Heidelberg New York: Springer 1987

    Google Scholar 

  19. Mellish, C.S.: Automatic generation of mode declarations for Prolog programs. DAI research paper 163, Dept. of Artificial Intelligence, University of Edinburgh, 1981

  20. Mints, G.E.: Complete calculus for pure Prolog. Proc. Acad. Sci. Estonian SSR35(4), 367–380 (1986)

    Google Scholar 

  21. Moschovakis, Y.N.: Elementary Induction on Abstract Structures. Amsterdam: North-Holland 1974

    Google Scholar 

  22. Schroeder-Heister, P.: Definitional reflection and the completion. In: Dyckhoff, R. (ed.) Extensions of Logic Programming. 4th International Workshop, ELP '93, pp. 333–347. Lect. Notes Artificial Intelligence 798. Berin Heidelberg New York: Springer 1994

    Google Scholar 

  23. Schütte, K.: Proof Theory. Berlin: Springer 1977

    Google Scholar 

  24. Shepherdson, J.C.: Negation as failure: A comparison of Clark's completed data base and Reiter's closed world assumption. J. Log Program.1(1), 51–79 (1984)

    Google Scholar 

  25. Shepherdson, J.C.: Mints type deductive calculi for logic programming. Ann. Pure Appl. Logic56(1–3), 7–17 (1992)

    Google Scholar 

  26. Shepherdson, J.C.: The role of standardising apart in logic programming. Theor. Comput. Sci.129, 143–166 (1994)

    Google Scholar 

  27. Stärk, R.F.: A complete axiomatization of the three-valued completion of logic programs. J. Logic Comput.1(6), 811–834 (1991)

    Google Scholar 

  28. Stärk, R.F.: From logic programs to inductive definitions. In: Hodges, W. (ed.) Logic Colloquium '93. Oxford University Press (to appear)

  29. Stärk, R.F.: The declarative semantics of the Prolog selection rule. In: Proceedings of the Ninth Annual IEEE Symposium on Logic in Computer Science, LICS '94, pp. 252–261, Paris, France, July 1994. Paris: IEEE Computer Society Press 1994

    Google Scholar 

  30. Stärk, R.F.: Input/output dependencies of normal logic programs. J. Logic Comput.4(3), 249–262 (1994)

    Google Scholar 

  31. Stroetmann, K.: A completeness result for SLDNF-resolution. J. Log Program.15(4), 337–355 (1993)

    Google Scholar 

  32. van Emden, M.H., Kowalski, R.A.: The semantics of predicate logic as a programming language. J. Assoc. Comput. Mach.4(23), 733–742 (1976)

    Google Scholar 

  33. Van Gelder, A., Schlipf, J.S.: Commonsense axiomatizations for logic programs. J. Log Program.17(2, 3, 4), 161–195 (1993)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Sponsored by the Alexander von Humboldt Foundation, Germany

Rights and permissions

Reprints and permissions

About this article

Cite this article

Stärk, R.F. First-order theories for pure Prolog programs with negation. Arch Math Logic 34, 113–144 (1995). https://doi.org/10.1007/BF01270391

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01270391

Keywords

Navigation