Skip to main content

Soundness and Completeness of an “Efficient” Negation for Prolog

  • Conference paper
  • 649 Accesses

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

Abstract

The role for logic in knowledge and artificial intelligence (AI) representation and reasoning is an interesting and active area of research. In this framework, negation plays an essential role. On the other hand, Logic Programming (LP), and Prolog as its most representative programming language, has been extensively used for the implementation of logic-based systems. However, up to now we cannot find a Prolog implementation that supports an adequate negation subsystem what precludes important uses in AI applications. By adequate we mean correct and complete as well as efficiently implemented. In fact, there is no single method with this characteristic (for instance, negation as failure is incomplete, while constructive negation is hard to implement and until our work there were no running implementation of it). In previous work, we presented a novel method for incorporating negation into a Prolog compiler which takes a number of existing methods (some modified and improved by us) and uses them in a combined fashion. The method makes use of information provided by a global analysis of the source code. However, the correctness of the system was only informally sketched. In this paper, we present a general framework that can be used either to define strategies by combination of negation techniques as well as proving correctness and completeness of the resulting system. From this framework it is possible to define new strategies and, in particular, we describe the strategy that we have implemented, proving its soundness and completeness.

This research was partly supported by the Spanish MCYT project TIC2003-01036.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barbuti, R., Mancarella, D., Pedreschi, D., Turini, F.: Intensional negation of logic programs. In: TAPSOFT 1987 and CFLP 1987. LNCS, vol. 250, pp. 96–110. Springer, Heidelberg (1987)

    Google Scholar 

  2. Barbuti, R., Mancarella, D., Pedreschi, D., Turini, F.: A transformational approach to negation in logic programming. JLP 8(3), 201–228 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  3. Bruscoli, P., Levi, F., Levi, G., Meo, M.C.: Compilative constructive negation in constraint logic programs. In: Tison, S. (ed.) CAAP 1994. LNCS, vol. 787, pp. 52–67. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  4. Chan, D.: Constructive negation based on the completed database. In: Proc. Int. Conference on LP 1988, pp. 111–125. The MIT Press, Cambridge (1988)

    Google Scholar 

  5. Chan, D.: An extension of constructive negation and its application in coroutining. In: Proc. NACLP 1989, pp. 477–493. The MIT Press, Cambridge (1989)

    Google Scholar 

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

    Google Scholar 

  7. Drabent, W.: What is a failure? An approach to constructive negation. Acta Informatica 33, 27–59 (1995)

    Article  MathSciNet  Google Scholar 

  8. Fages, F.: Constructive negation by pruning. Journal of Logic Programming 32(2) (1997)

    Google Scholar 

  9. Hill, P.M., Lloyd, J.W.: The Gödel Programming Language. The MIT Press, Cambridge (1994)

    MATH  Google Scholar 

  10. Kunen, K.: Negation in logic programming. JLP 4, 289–308 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  11. Muñoz, S., Mariño, J., Moreno-Navarro, J.J.: Constructive intensional negation. In: Kameyama, Y., Stuckey, P.J. (eds.) FLOPS 2004. LNCS, vol. 2998, pp. 39–54. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  12. Muñoz, S., Moreno-Navarro, J.J.: Implementation results in classical constructive negation. In: Demoen, B., Lifschitz, V. (eds.) ICLP 2004. LNCS, vol. 3132, pp. 284–298. Springer, Heidelberg (2004) (to appear)

    Chapter  Google Scholar 

  13. Muñoz-Hernández, S., Moreno-Navarro, J.J.: How to incorporate negation in a Prolog compiler. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 124–140. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  14. Muñoz-Hernández, S., Moreno-Navarro, J.J., Hermenegildo, M.: Efficient negation using abstract interpretation. In: Nieuwenhuis, R., Voronkov, A. (eds.) Logic for Programming, Artificial Intelligence and Reasoning, La Habana, Cuba (2001)

    Google Scholar 

  15. Naish, L.: Negation and quantifiers in NU-Prolog. In: Shapiro, E. (ed.) ICLP 1986. LNCS, vol. 225, Springer, Heidelberg (1986)

    Google Scholar 

  16. Di Pierro, A., Martelli, M., Palamidessi, C.: Negation as instantiation. Information and Computation 120(2), 263–278 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  17. Przymusinski, T.C.: On constructive negation in logic programming. In: North American Conference on Logic Programming (October 1989)

    Google Scholar 

  18. Sato, T., Motoyoshi, F.: A complete top-down interpreter for first order programs. In: International Logic Programming Symposium, pp. 35–53 (1991)

    Google Scholar 

  19. Shepherdson, J.C.: Negation as failure ii. JLP, 185–202 (1985)

    Google Scholar 

  20. Stuckey, P.: Negation and constraint logic programming. Information and Computation 118(1), 12–33 (1995)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Moreno-Navarro, J.J., Muñoz-Hernández, S. (2004). Soundness and Completeness of an “Efficient” Negation for Prolog. In: Alferes, J.J., Leite, J. (eds) Logics in Artificial Intelligence. JELIA 2004. Lecture Notes in Computer Science(), vol 3229. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30227-8_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30227-8_25

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-30227-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics