ESOP 1994: Programming Languages and Systems — ESOP '94 pp 195-210 | Cite as
A logical denotational semantics for constraint logic programming
Abstract
The process interpretation of constraint logic programming (clp) leads to a model which is similar for many aspects to (an unsynchronized version of) concurrent constraint programming (ccp). However, it differs from the latter because it supports the notion of consistency: an action can be performed only if it does not lead to an inconsistent store. We develop a denotational, fully abstract semantics for clp with respect to successful, failed and infinite observables. This semantics extends the standard model of clp in two ways: on one hand by capturing infinite computations; on the other hand by characterizing a more general notion of negation. Finally, our work can be regarded as a first step towards the development of a simple model for ccp with atomic tell.
Keywords
Logic Program Logic Programming Consistency Check Operational Semantic Constraint SystemReferences
- 1.M.A. Nait Abdallah. On the intepretation of infinite computations in logic programming. In J. Paredaens, editor, Proc. of Automata, Languages and Programming, volume 172, pages 374–381. Springer Verlag, 1984.Google Scholar
- 2.K. R. Apt, H. Blair, and A. Walker. Towards a Theory of Declarative Knowledge. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 89–148. Morgan Kaufmann, Los Altos, Ca., 1988.Google Scholar
- 3.F.S. de Boer, J.N. Kok, C. Palamidessi, and J.J.M.M. Rutten. Semantic models for Concurrent Logic Languages. Theoretical Computer Science, 86(1), 3–33, 1991.Google Scholar
- 4.F.S. de Boer, M. Gabbrielli, E. Marchiori, and C. Palamidessi. Proving Concurrent Constraint Programs Correct. In Proc. Eighteenth Annual ACM Symp. on Principles of Programming Languages, 1993.Google Scholar
- 5.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, 1988.Google Scholar
- 6.K.L. Clark. Negation as failure. In H. Gallaire and J. Minker, editors, Logic and Data Bases, pages 293–322. Plenum Press, 1978.Google Scholar
- 7.W. Drabent. Constructive Negation by Fail Answers. In Proc. of the Workshop on Logic Programming and Non-monotonic reasoning, 1993. To appear.Google Scholar
- 8.W.G. Golson. Toward a declarative semantics for infinite objects in logic programming. Journal of Logic Programming, 5:151–164, 1988.Google Scholar
- 9.L. Henkin, J.D. Monk, and A. Tarski. Cylindric Algebras (Part I). North-Holland, 1971.Google Scholar
- 10.J. Jaffar and J.-L. Lassez. Constraint Logic Programming. In Proc. Fourteenth Annual ACM Symp. on Principles of Programming Languages, pages 111–119, 1987.Google Scholar
- 11.J. Jaffar and J.-L. Lassez. Constraint Logic Programming. Technical report, Department of Computer Science, Monash University, June 1986.Google Scholar
- 12.R. Jagadeesan, V.A. Saraswat, and V. Shanbhogue. Angelic non-determinism in concurrent constraint programming. Technical report, Xerox Park, 1991.Google Scholar
- 13.K. Kunen. Signed Data Dependencies in Logic Programs. Journal of Logic Programming, 7(3):231–245, 1989.Google Scholar
- 14.J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987. Second edition.Google Scholar
- 15.G. Levi and C. Palamidessi. Contributions to the semantics of logic perpetual processes. Acta Informatica, 25(6):691–711, 1988.Google Scholar
- 16.M. Z. Kwiatkowska. Infinite Behaviour and Fairness in Concurrent Constraint Programming. In J. W. de Bakker, W. P.de Roever, and G. Rozenberg, editors, Semantics: Foundations and Applications, volume 666 of Lecture Notes in Computer Science, pages 348–383, Beekbergen The Nederland, June 1992. REX Workshop, Springer-Verlag, Berlin.Google Scholar
- 17.J. Maluszyński and T. Näslund. Fail Substitutions for Negation as Failure. In E. Lusk and R. Overbeck, editors, Proc. North American Conf. on Logic Programming '89, pages 461–476. The MIT Press, 1989.Google Scholar
- 18.S. Nystrom and B. Jonsson. In D. Miller, editor, Proc. International Symposium on Logic Programming'93, pages 335–352. The MIT Press, 1993.Google Scholar
- 19.G. Plotkin. A structured approach to operational semantics. Technical Report DAIMI FN-19, Computer Science Department, Aarhus University, 1981.Google Scholar
- 20.G. Plotkin. Domains. Department of Computer Science, University of Edimburgh, 1992. Post-graduate lecture notes in advanced domain theory (incorporating the’ Pisa notes’ 1981).Google Scholar
- 21.J. C. Shepherdson. A sound and complete semantics for a version of negation as failure. Theoretical Computer Science, 65:343–371, 1989.Google Scholar
- 22.V.A. Saraswat and M. Rinard. Concurrent constraint programming. In Proc. Seventeenth Annual ACM Symp. on Principles of Programming Languages, pages 232–245, New York, 1990.Google Scholar
- 23.V.A. Saraswat, M. Rinard, and P. Panangaden. Semantics foundations of concurrent constraint programming. In Proc. Eighteenth Annual ACM Symp. on Principles of Programming Languages, New York, 1991.Google Scholar
- 24.D. Scott. Domains for denotational semantics. In Proc. of ICALP, 1982.Google Scholar
- 25.E.Y. Shapiro. A subset of Concurrent Prolog and its interpreter. Technical Report TR-003, Institute for New Generation Computer Technology, Tokyo, 1983.Google Scholar
- 26.P. Stuckey. Constructive negation for constraint logic programming. In Proc. sixth Annual Symposium on Logic in Computer Science, 1991.Google Scholar
- 27.M. H. van Emden and G. J. de Lucena. Predicate logic as language for parallel programming. In K. L. Clark and S. A. Tärnlund, editors, Logic Programming, pages 189–198. Academic Press, London, 1982.Google Scholar
- 28.M. H. van Emden and R. A. Kowalski. The semantics of predicate logic as a programming language. Journal of ACM, 23(4):733–742, 1976.Google Scholar
- 29.M. G. Wallace. Negation by Constraints: a Sound and Efficient Implementation of Negation in Deductive Databases. In IEEE Int'l Symp. on Logic Programming, pages 253–263. IEEE, 1987.Google Scholar