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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
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.
K. R. Apt and D. Pedreschi. Reasoning about termination of pure Prolog programs. Information and Computation, 106(1):109–157, 1993.
E. Börger and D. Rosenzweig. A mathematical definition of full Prolog. Science of Computer Programming, 1993. To appear.
S. Cerrito. A linear axiomatization of negation as failure. J. of Logic Programming, 12(1):1–24, 1992.
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.
B. Elbl. Deklarative Semantik von Logikprogrammen mit PROLOGs Auswertungsstrategie. PhD thesis, Universität der Bundeswehr, München, Germany, 1994.
M. Fitting. A Kripke-Kleene semantics for logic programs. J. of Logic Programming, 2:295–312, 1985.
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.
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.
M. Kalsbeek. Gentzen systems for logic programming styles. Technical Report CT-94-12, ILLC, University of Amsterdam, 1994.
K. Kunen. Negation in logic programming. J. of Logic Programming, 4(4):289–308, 1987.
G. E. Mints. Complete calculus for pure Prolog. Proc. Acad. Sci. Estonian SSR, 35(4):367–380, 1986. In Russian.
J. C. Shepherdson. Mints type deductive calculi for logic programming. Annals of Pure and Applied Logic, 56(1–3):7–17, 1992.
R. F. Stärk. Input/output dependencies of normal logic programs. J. of Logic and Computation, 4(3):249–262, 1994.
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.
R. F. Stärk. First-order theories for pure Prolog programs with negation. Archive for Mathematical Logic, 199? To appear.
J. van Benthem. Logic as programming. Fundamenta Informaticae, 17(4):285–317, 1993.
A. Van Gelder and J. S. Schlipf. Commonsense axiomatizations for logic programs. J. of Logic Programming, 17(2,3,4):161–195, 1993.
Author information
Authors and Affiliations
Editor information
Rights 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