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].
Preview
Unable to display preview. Download preview PDF.
References
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.
K. R. Apt and M.H. van Emden. Contributions to the theory of logic programming. Journal of the ACM, 29(3):841–862, 1982.
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.
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.
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.
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.
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.
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.
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.
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.
W. Drabent. What is Failure? An Approach to Constructive Negation. Acta Informatica, 1993. To appear.
M. Fitting. A Kripke-Kleene semantics for logic programs. Journal of Logic Programming, 2:295–312, 1985.
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.
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.
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.
J. Jaffar and J.-L. Lassez. Constraint Logic Programming. Technical report, Department of Computer Science, Monash University, June 1986.
K. Kunen. Negation in logic programming. Journal of Logic Programming, 4:289–308, 1987.
F. Levi. Negazione e quantificazione universale in programmazione logica. Master's thesis, Dipartimento di Informatica, Università di Pisa, 1991. in italian.
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.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 1987. Second edition.
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.
P. Mancarella, S. Martini, and D. Pedreschi. Complete Logic Programs with Domain Closure Axiom. Journal of Logic Programming, 5(3):263–276, 1988.
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.
T. Sato. Equivalence-preserving first-order unfold/fold transformation systems. Theoretical Computer Science, 105:57–84, 1992.
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.
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.
J. C. Shepherdson. Language and equality theory in logic programming. Technical Report PM-91-02, School of Mathematics, University of Bristol, 1991.
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.
P. J. Stuckey. Constructive Negation for Constraint Logic Programming. Technical report, Department of Computer Science, University of Melbourne, 1991.
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.
Author information
Authors and Affiliations
Editor information
Rights 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