Skip to main content

Compilative constructive negation in constraint logic programs

  • Contributed Papers
  • Conference paper
  • First Online:
Trees in Algebra and Programming — CAAP'94 (CAAP 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 787))

Included in the following conference series:

Abstract

In this paper we define a new compilative version of constructive negation (intensional negation) in CLP and we prove its (non-ground) correctness and completeness wrt the 3-valued completion. We show that intensional negation is essentially equivalent to constructive negation and that it is indeed more efficient, as one would expect from the fact that it is a compilative technique, with the transformation and the associated normalization process being performed once and for all on the source program. We define several formal non-ground semantics, based either on the derivation rule or on the least fixpoint of an immediate consequence operator. All these semantics are proved to correctly model the observable behavior, from the viewpoint of answer constraints. We give some equivalence theorems and we show that all our denotations are the non-ground representation of a single partial interpretation, which is Φ P ω, where Φ P is the Fitting's operator [12].

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. R. Apt. Introduction to Logic Programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, pages 495–574. Elsevier, Amsterdam and The MIT Press, Cambridge, 1990.

    Google Scholar 

  2. K. R. Apt and M.H. van Emden. Contributions to the theory of logic programming. Journal of the ACM, 29(3):841–862, 1982.

    Article  Google Scholar 

  3. R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. Intensional Negation of Logic Programs: Examples and Implementation Techniques. In H. Ehrig, R. Kowalski, G. Levi, and U. Montanari, editors, TAPSOFT '87, volume 250 of Lecture Notes in Computer Science, pages 96–110. Springer-Verlag, Berlin, 1987.

    Google Scholar 

  4. R. Barbuti, P.Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. Journal of Logic Programming, 8:201–228, 1990.

    Article  Google Scholar 

  5. A. Bottoni and G. Levi. The inverse of Fitting's functional. In Proc. of the 3rd Kurt Goedel Colloquium on Computational Logic and Proof Theory, Lecture Notes in Computer Science. Springer-Verlag, Berlin, 1993. To appear.

    Google Scholar 

  6. P. Bruscoli, F. Levi, G. Levi, and M. C. Meo. Intensional negation in Constraint Logic Programs. Technical Report 11/93, Dipartimento di Informatica, Università di Pisa, 1993.

    Google Scholar 

  7. D. Chan. Constructive Negation Based on the Completed Database. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth Int'l Conf. on Logic Programming, pages 111–125. The MIT Press, Cambridge, Mass., 1988.

    Google Scholar 

  8. D. Chan. An Extension of Constructive Negation and its Application in Coroutining. In E. Lusk and R. Overbeek, editors, Proc. North American Conf. on Logic Programming'89, pages 477–493. The MIT Press, Cambridge, Mass., 1989.

    Google Scholar 

  9. 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 

  10. W. Drabent. SLS-resolution without floundering. In L. M. Pereira and A. Nerode, editors, Logic Programming and Non-monotonic Reasoning, Proceedings of the Second International Workshop, pages 82–98. The MIT Press, Cambridge, Mass., 1993.

    Google Scholar 

  11. W. Drabent. What is Failure? An Approach to Constructive Negation. Acta Informatica, 1993. To appear.

    Google Scholar 

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

    Article  Google Scholar 

  13. M. Fitting and M. Ben-Jacob. Stratified and Three-valued Logic Programming Semantics. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth Int'l Conf. on Logic Programming, pages 1054–1069. The MIT Press, Cambridge, Mass., 1988.

    Google Scholar 

  14. M. Gabbrielli and G. Levi. Modeling Answer Constraints in Constraint Logic Programs. In K. Furukawa, editor, Proc. Eighth Int'l Conf. on Logic Programming, pages 238–252. The MIT Press, Cambridge, Mass., 1991.

    Google Scholar 

  15. J. Jaffar and J.-L. Lassez. Constraint Logic Programming. In Proc. Fourteenth Annual ACM Symp. on Principles of Programming Languages, pages 111–119. ACM, 1987.

    Google Scholar 

  16. J. Jaffar and J.-L. Lassez. Constraint Logic Programming. Technical report, Department of Computer Science, Monash University, June 1986.

    Google Scholar 

  17. K. Kunen. Negation in logic programming. Journal of Logic Programming, 4:289–308, 1987.

    Article  Google Scholar 

  18. F. Levi. Negazione e quantificazione universale in programmazione logica. Master's thesis, Dipartimento di Informatica, Università di Pisa, 1991. in italian.

    Google Scholar 

  19. F. Levi, P. Mancarella, and D. Pedreschi. Negazione Costruttiva e Quantificazione Universale in Programmazione Logica con Vincoli. In S. Costantini, editor, Proc. Seventh Italian Conference on Logic Programming, pages 273–287, 1992.

    Google Scholar 

  20. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 1987. Second edition.

    Google Scholar 

  21. J. Maluszyński and T. Näslund. Fail Substitutions for Negation as Failure. In E. Lusk and R. Overbeek, editors, Proc. North American Conf. on Logic Programming'89, pages 461–476. The MIT Press, Cambridge, Mass., 1989.

    Google Scholar 

  22. P. Mancarella, S. Martini, and D. Pedreschi. Complete Logic Programs with Domain Closure Axiom. Journal of Logic Programming, 5(3):263–276, 1988.

    Article  Google Scholar 

  23. P. Mancarella, D. Pedreschi, M. Rondinelli, and M. Tagliatti. Algebraic Properties of a Class of Logic Programs. In S. K. Debray and M. Hermenegildo, editors, Proc. North American Conf. on Logic Programming'90, pages 23–39. The MIT Press, Cambridge, Mass., 1990.

    Google Scholar 

  24. T. Sato. Equivalence-preserving first-order unfold/fold transformation systems. Theoretical Computer Science, 105:57–84, 1992.

    Article  Google Scholar 

  25. T. Sato and F. Motoyoshi. A Complete Top-down Interpreter for First Order Programs. In V. Saraswat and K.Ueda, editors, Proc. 1991 Int'l Symposium on Logic Programming, pages 35–53, 1991.

    Google Scholar 

  26. T. Sato and H. Tamaki. Transformational Logic Programs Synthesis. In Proceedings of the International Conference of Fifth Generation Computer Systems, 1984, pages 195–201, 1984.

    Google Scholar 

  27. J. C. Shepherdson. Language and equality theory in logic programming. Technical Report PM-91-02, School of Mathematics, University of Bristol, 1991.

    Google Scholar 

  28. P. J. Stuckey. Constructive Negation for Constraint Logic Programming. In Proc. Sixth IEEE Symp. on Logic In Computer Science, pages 328–339. IEEE Computer Society Press, 1991.

    Google Scholar 

  29. P. J. Stuckey. Constructive Negation for Constraint Logic Programming. Technical report, Department of Computer Science, University of Melbourne, 1991.

    Google Scholar 

  30. M. H. van Emden and R. A. Kowalski. The semantics of predicate logic as a programming language. Journal of the ACM, 23(4):733–742, 1976.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Sophie Tison

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bruscoli, P., Levi, F., Levi, G., Meo, M.C. (1994). Compilative constructive negation in constraint logic programs. In: Tison, S. (eds) Trees in Algebra and Programming — CAAP'94. CAAP 1994. Lecture Notes in Computer Science, vol 787. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017473

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57879-6

  • Online ISBN: 978-3-540-48373-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics