Abstract
Although negation is an active area of research in Logic Programming, sound and complete implementations are still absent from actual Prolog systems. One of the most promising techniques in the literature is Intensional Negation (IN), which follows a transformational approach: for each predicate p in a program its negative counterpart \({\mathit{intneg}}(p)\) is generated. However, implementations of IN have not been included in Prolog environments due, in part, to the lack of details and explicit techniques, such as the treatment of universally quantified goals. In this paper, we describe a variant of IN, which we have called Constructive Intensional Negation (CIN). Unlike earlier proposals, CIN does not resort to a special resolution strategy when dealing with universally quantified formulae, which has been instrumental in having an effective implementation. Among the contributions of this work we can mention a full implementation being tested for its integration in the Ciao Prolog system and some formal results with their associated proofs.
This research was partly supported by the Spanish MCYT project TIC2000-1632.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The DLV home page, http://www.dbai.tuwien.ac.at/proj/dlv/
The ECLiPSe website at Imperial College, http://www-icparc.doc.ic.ac.uk/eclipse/
The SMODELS home page, http://www.tcs.hut.fi/Software/smodels/
The XSB home page, http://www.cs.sunysb.edu/~sbprolog/xsb-page.html
Barbuti, R., Mancarella, D., Pedreschi, D., Turini, F.: Intensional negation of logic programs. In: Ehrig, H., Levi, G., Montanari, U. (eds.) TAPSOFT 1987 and CFLP 1987. LNCS, vol. 250, pp. 96–110. Springer, Heidelberg (1987)
Barbuti, R., Mancarella, D., Pedreschi, D., Turini, F.: A transformational approach to negation in logic programming. JLP 8(3), 201–228 (1990)
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)
Bueno, F.: The CIAO Multiparadigm Compiler: A User’s Manual (1995)
Chan, D.: Constructive negation based on the completed database. In: Proc. Int. Conference on LP 1988, pp. 111–125. MIT Press, Cambridge (1988)
Chan, D.: An extension of constructive negation and its application in coroutining. In: Proc. NACLP 1989, pp. 477–493. MIT Press, Cambridge (1989)
Cutland, N.J.: Computability, An Introduction to Recursive Function Theory. Cambridge University Press, Cambridge (1980)
Dovier, A., Pontelli, E., Rossi, G.: A necessary condition for constructive negation in constraint logic programming. Information Processing Letters 74, 147–156 (2000)
Fages, F.: Constructive negation by pruning. Journal of Logic Programming 32(2) (1997)
Hill, P.M., Lloyd, J.W.: The Gödel Programming Language. MIT Press, Cambridge (1994)
Kunen, K.: Negation in logic programming. Journal of Logic Programming 4, 289–308 (1987)
Moreno-Navarro, J.J.: Default rules: An extension of constructive negation for narrowing based languages. In: Proc. ICLP 1994, pp. 535–549. MIT Press, Cambridge (1994)
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)
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)
Muñoz-Hernández, S.: A Negation System for Prolog. PhD thesis, Facultad de Informática (Universidad Politécnica de Madrid) (2003)
Naish, L.: Negation and quantifiers in NU-Prolog. In: Proc. 3rd ICLP (1986)
Di Pierro, A., Martelli, M., Palamidessi, C.: Negation as instantiation. Information and Computation 120(2), 263–278 (1995)
Stuckey, P.: Negation and constraint logic programming. Information and Computation 118(1), 12–33 (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Muñoz-Hernández, S., Mariño, J., Moreno-Navarro, J.J. (2004). Constructive Intensional Negation. In: Kameyama, Y., Stuckey, P.J. (eds) Functional and Logic Programming. FLOPS 2004. Lecture Notes in Computer Science, vol 2998. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24754-8_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-24754-8_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21402-1
Online ISBN: 978-3-540-24754-8
eBook Packages: Springer Book Archive