Skip to main content

Operational semantics of constraint logic programming over finite domains

  • Session: Constraint Logic Programming
  • Conference paper
  • First Online:
Programming Language Implementation and Logic Programming (PLILP 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 528))

Abstract

Although the Constraint Logic Programming (CLP) theory [7] is an elegant generalization of the LP theory, it has some difficulties in capturing some operational aspects of actual CLP languages (e.g. [8, 6, 3, 12, 18, 19]). A difficulty comes from the intentional incompleteness of some constraint-solvers. Some constraints are simply delayed until they can be decided by the constraint-solver. Others are approximated, providing an active pruning of the search space without being actually decided by the constraint-solver.

This paper presents an extension of the Ask & Tell framework [14] in order to give a simple and precise operational semantics to (a class of) CLP languages with an incomplete constraint-solver. The basic idea is to identify a subset of the constraints (the basic constraints) for which there exists an efficient and complete constraint-solver. Non-basic constraints are handled through two new combinators, relaxed ask and relaxed tell, that are in fact relaxations of the standard ask and tell.

The extended framework is instantiated to CLP on finite domains, say CLP(F) [16, 6]. Arc-consistency is shown to be an efficient and complete constraint-solver for basic constraints. We also present how non-basic constraints can be approximated in CLP(F). The resulting semantics precisely describes the operational semantics of the language, enables the programmer to reason easily about the correctness and efficiency of his programs, and clarifies the links of CLP(F) with the CLP and Ask & Tell theories.

It is believed that the approach can be used as well to endow other CLP languages such as BNR-Prolog [12], CLP(Σ*) [19], and parts of Trilogy [18] with a precise operational semantics.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. W Buttner and al. A General Framework for Constraint Handling in Prolog. Technical report, Siemens Technical Report, 1988.

    Google Scholar 

  2. A. Colmerauer. PROLOG II: Manuel de Reference et Modele Theorique. Technical report, GIA-Faculte de Sciences de Luminy, March 1982.

    Google Scholar 

  3. A. Colmerauer. An Introduction to Prolog III. CACM, 28(4):412–418, 1990.

    Google Scholar 

  4. Y. Deville and P. Van Hentenryck. An Efficient Arc-Consistency Algorithm for a Class of CSP Problems. Technical Report CS-90-36, CS Department, Brown University, 1990.

    Google Scholar 

  5. M. Dincbas, H. Simonis, and P. Van Hentenryck. Extending Equation Solving and Constraint Handling in Logic Programming. In MCC, editor, Colloquium on Resolution of Equations in Algebraic Structures (CREAS), Texas, May 1987.

    Google Scholar 

  6. M. Dincbas, P. Van Hentenryck, H. Simonis, A. Aggoun, T. Graf, and F. Berthier. The Constraint Logic Programming Language CHIP. In FGCS-88, Tokyo, Japan, 1988.

    Google Scholar 

  7. J. Jaffar and J-L. Lassez. Constraint Logic Programming. In POPL-87, Munich, FRG, 1987.

    Google Scholar 

  8. J. Jaffar and S. Michaylov. Methodology and Implementation of a CLP System. In ICLP-87, Melbourne, Australia, May 1987.

    Google Scholar 

  9. A.K. Mackworth. Consistency in Networks of Relations. AI Journal, 8(1):99–118, 1977.

    Google Scholar 

  10. R. Mohr and T.C. Henderson. Arc and Path Consistency Revisited. AI Journal, 28:225–233, 1986.

    Google Scholar 

  11. L. Naish. Negation and Control in Prolog. PhD thesis, University of Melbourne, Australia, 1985.

    Google Scholar 

  12. W. Older and A. Vellino. Extending Prolog with Constraint Arithmetics on Real Intervals. In Canadian Conference on Computer & Electrical Engineering, Ottawa, 1990.

    Google Scholar 

  13. G.D. Plotkin. A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, CS Department, University of Aarhus, 1981.

    Google Scholar 

  14. V.A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, Carnegie-Mellon University, 1989.

    Google Scholar 

  15. P. Van Hentenryck. A Framework for Consistency Techniques in Logic Programming. In IJCAI-87, Milan, Italy, August 1987.

    Google Scholar 

  16. P. Van Hentenryck. Constraint Satisfaction in Logic Programming. Logic Programming Series, The MIT Press, Cambridge, MA, 1989.

    Google Scholar 

  17. P. Van Hentenryck and Y. Deville. A new Logical Connective and its Application to Constraint Logic Programming. Technical Report CS-90-24, CS Department, Brown University, 1990.

    Google Scholar 

  18. P. Voda. The Constraint Language Trilogy: Semantics and Computations. Technical report, Complete Logic Systems, North Vancouver, BC, Canada, 1988.

    Google Scholar 

  19. C. Walinsky. CLP(Σ*). In ICLP-89, Lisbon, Portugal, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan Maluszyński Martin Wirsing

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

van Hentenryck, P., Deville, Y. (1991). Operational semantics of constraint logic programming over finite domains. In: Maluszyński, J., Wirsing, M. (eds) Programming Language Implementation and Logic Programming. PLILP 1991. Lecture Notes in Computer Science, vol 528. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54444-5_115

Download citation

  • DOI: https://doi.org/10.1007/3-540-54444-5_115

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54444-9

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics