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.
Similar content being viewed by others
References
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
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
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
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
Apt, K.R., Pedreschi, D.: Reasoning about termination of pure Prolog programs. Information and Computation106(1), 109–157 (1993)
Börger, E., Rosenzweig, D.: A mathematical definition of full Prolog.SSci. Comput. Program (to appear)
Clark, K.L.: Negation as failure. In: Gallaire, H., Minker, J. (eds.) Logic and Data Bases, pp. 293–322. New York: Plenum Press 1978
Cohen, J., Hickey, T.J.: Parsing and compiling using Prolog. ACM Trans. Program. Lang. Syst.9(2), 125–163 (1987)
Doets, K.: From Logic to Logic Programming. MIT-Press 1994
Drabent, W.: Completeness of SLDNF-resolution for non-floundering queries. J. Logic Program. (to appear)
Fitting, M.: A Kriple-Kleene semantics for logic programs. J. Logic Program.2, 295–312 (1985)
Fitting, M.: Bilattices and the semantics of logic programming. J. Logic Program.11, 91–116 (1991)
Hösli, B., Jäger, G.: About some symmetries of negation. J. Symb. Logic59(2), 473–485 (1994)
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)
Jäger, G., Stärk, R.F.: A proof-theoretic framework for logic programming. In: Buss, S. (ed.) Handbook of Proof Theory. In preparation
Kunen, K.: Negation in logic programming. J. Log Program.4(4), 289–308 (1987)
Kunen, K.: Signed data dependencies in logic programs. J. Log Program.7(3), 231–245 (1989)
Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Berlin Heidelberg New York: Springer 1987
Mellish, C.S.: Automatic generation of mode declarations for Prolog programs. DAI research paper 163, Dept. of Artificial Intelligence, University of Edinburgh, 1981
Mints, G.E.: Complete calculus for pure Prolog. Proc. Acad. Sci. Estonian SSR35(4), 367–380 (1986)
Moschovakis, Y.N.: Elementary Induction on Abstract Structures. Amsterdam: North-Holland 1974
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
Schütte, K.: Proof Theory. Berlin: Springer 1977
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)
Shepherdson, J.C.: Mints type deductive calculi for logic programming. Ann. Pure Appl. Logic56(1–3), 7–17 (1992)
Shepherdson, J.C.: The role of standardising apart in logic programming. Theor. Comput. Sci.129, 143–166 (1994)
Stärk, R.F.: A complete axiomatization of the three-valued completion of logic programs. J. Logic Comput.1(6), 811–834 (1991)
Stärk, R.F.: From logic programs to inductive definitions. In: Hodges, W. (ed.) Logic Colloquium '93. Oxford University Press (to appear)
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
Stärk, R.F.: Input/output dependencies of normal logic programs. J. Logic Comput.4(3), 249–262 (1994)
Stroetmann, K.: A completeness result for SLDNF-resolution. J. Log Program.15(4), 337–355 (1993)
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)
Van Gelder, A., Schlipf, J.S.: Commonsense axiomatizations for logic programs. J. Log Program.17(2, 3, 4), 161–195 (1993)
Author information
Authors and Affiliations
Additional information
Sponsored by the Alexander von Humboldt Foundation, Germany
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01270391