Skip to main content

A transformation of propositional Prolog programs into classical logic

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 928))

Abstract

We transform a propositional Prolog program P into a set of propositional formulas prl(P) and show that Prolog, using its depth-first left-to-right search, is sound and complete with respect to prl(P). This means that a goal succeeds in Prolog if and only if it follows from prl(P) in classical propositional logic. The generalization of prl(P) to predicate logic leads to a system for which Prolog is still sound but unfortunately not complete. If one changes, however, the definition of the termination operator, then one obtains a theory that allows to prove termination of arbitrary non-floundering goals under Prolog.

Supported by the Swiss National Science Foundation.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Google Scholar 

  2. K. R. Apt. Declarative programming in Prolog. In D. Miller, editor, Logic Programming — Proceedings of the 1993 International Symposium, pages 11–35. MIT Press, 1993.

    Google Scholar 

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

    Google Scholar 

  4. E. Börger and D. Rosenzweig. A mathematical definition of full Prolog. Science of Computer Programming, 1993. To appear.

    Google Scholar 

  5. S. Cerrito. A linear axiomatization of negation as failure. J. of Logic Programming, 12(1):1–24, 1992.

    Google Scholar 

  6. K. L. Clark. Negation as failure. In H. Gallaire and J. Minker, editors, Logic and Data Bases, pages 293–322. Plenum Press, New York, 1978.

    Google Scholar 

  7. B. Elbl. Deklarative Semantik von Logikprogrammen mit PROLOGs Auswertungsstrategie. PhD thesis, Universität der Bundeswehr, München, Germany, 1994.

    Google Scholar 

  8. M. Fitting. A Kripke-Kleene semantics for logic programs. J. of Logic Programming, 2:295–312, 1985.

    Google Scholar 

  9. G. Jäger. Non-monotonic reasoning by axiomatic extensions. In J. E. Fenstad, I. T. Frolov, and R. Hilpinen, editors, Logic, Methodology and Philosophy of Science VIII, pages 93–110, Amsterdam, 1989. North-Holland.

    Google Scholar 

  10. G. Jäger and R. F. Stärk. A proof-theoretic framework for logic programming. In S. Buss, editor, Handbook of Proof Theory. 1994. In Preparation.

    Google Scholar 

  11. M. Kalsbeek. Gentzen systems for logic programming styles. Technical Report CT-94-12, ILLC, University of Amsterdam, 1994.

    Google Scholar 

  12. K. Kunen. Negation in logic programming. J. of Logic Programming, 4(4):289–308, 1987.

    Google Scholar 

  13. G. E. Mints. Complete calculus for pure Prolog. Proc. Acad. Sci. Estonian SSR, 35(4):367–380, 1986. In Russian.

    Google Scholar 

  14. J. C. Shepherdson. Mints type deductive calculi for logic programming. Annals of Pure and Applied Logic, 56(1–3):7–17, 1992.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  17. R. F. Stärk. First-order theories for pure Prolog programs with negation. Archive for Mathematical Logic, 199? To appear.

    Google Scholar 

  18. J. van Benthem. Logic as programming. Fundamenta Informaticae, 17(4):285–317, 1993.

    Google Scholar 

  19. A. Van Gelder and J. S. Schlipf. Commonsense axiomatizations for logic programs. J. of Logic Programming, 17(2,3,4):161–195, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

V. Wiktor Marek Anil Nerode M. Truszczyński

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Stärk, R.F. (1995). A transformation of propositional Prolog programs into classical logic. In: Marek, V.W., Nerode, A., Truszczyński, M. (eds) Logic Programming and Nonmonotonic Reasoning. LPNMR 1995. Lecture Notes in Computer Science, vol 928. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59487-6_22

Download citation

  • DOI: https://doi.org/10.1007/3-540-59487-6_22

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59487-1

  • Online ISBN: 978-3-540-49282-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics