A logical denotational semantics for constraint logic programming

  • Alessandra Di Pierro
  • Catuscia Palamidessi
Contributed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 788)

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 System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 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. 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. 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. 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. 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. 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. 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. 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. 9.
    L. Henkin, J.D. Monk, and A. Tarski. Cylindric Algebras (Part I). North-Holland, 1971.Google Scholar
  10. 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. 11.
    J. Jaffar and J.-L. Lassez. Constraint Logic Programming. Technical report, Department of Computer Science, Monash University, June 1986.Google Scholar
  12. 12.
    R. Jagadeesan, V.A. Saraswat, and V. Shanbhogue. Angelic non-determinism in concurrent constraint programming. Technical report, Xerox Park, 1991.Google Scholar
  13. 13.
    K. Kunen. Signed Data Dependencies in Logic Programs. Journal of Logic Programming, 7(3):231–245, 1989.Google Scholar
  14. 14.
    J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987. Second edition.Google Scholar
  15. 15.
    G. Levi and C. Palamidessi. Contributions to the semantics of logic perpetual processes. Acta Informatica, 25(6):691–711, 1988.Google Scholar
  16. 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. 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. 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. 19.
    G. Plotkin. A structured approach to operational semantics. Technical Report DAIMI FN-19, Computer Science Department, Aarhus University, 1981.Google Scholar
  20. 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. 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. 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. 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. 24.
    D. Scott. Domains for denotational semantics. In Proc. of ICALP, 1982.Google Scholar
  25. 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. 26.
    P. Stuckey. Constructive negation for constraint logic programming. In Proc. sixth Annual Symposium on Logic in Computer Science, 1991.Google Scholar
  27. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Alessandra Di Pierro
    • 1
  • Catuscia Palamidessi
    • 2
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly
  2. 2.DISI, Università di GenovaGenovaItaly

Personalised recommendations