Observable Confluence for Constraint Handling Rules

  • Gregory J. Duck
  • Peter J. Stuckey
  • Martin Sulzmann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4670)

Abstract

Constraint Handling Rules (CHR) are a powerful rule based language for specifying constraint solvers. Critical for any rule based language is the notion of confluence, and for terminating CHR programs there is a decidable test for confluence. But many CHR programs that are in practice confluent fail this confluence test. The problem is that the states that illustrate non-confluence are not observable from the initial goals of interest. In this paper we introduce the notion of observable confluence, a more general notion of confluence which takes into account whether states are observable. We devise a test for observable confluence which allows us to verify observable confluence for a range of CHR programs dealing with agents, type systems, and the union-find algorithm.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abdennadher, S.: Operational semantics and confluence of constraint propagation rules. In: Smolka, G. (ed.) Principles and Practice of Constraint Programming - CP 1997. LNCS, vol. 1330, pp. 252–266. Springer, Heidelberg (1997)Google Scholar
  2. 2.
    Duck, G.J., Stuckey, P.J., Sulzmann, M.: Observable Confluence for Constraint Handling Rules. Technical Report CW 452, Katholieke Universteit Leuven. In: Proc. of CHR 2006, Third Workshop on Constraint Handling Rules (2006)Google Scholar
  3. 3.
    Frühwirth, T.: Constraint handling rules. In: Podelski, A. (ed.) Constraint Programming: Basics and Trends. LNCS, vol. 910, Springer, Heidelberg (1995)Google Scholar
  4. 4.
    Jones, M.P.: Type classes with functional dependencies. In: Smolka, G. (ed.) ESOP 2000 and ETAPS 2000. LNCS, vol. 1782, Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. 5.
    Lam, E.S.L., Sulzmann, M.: Towards agent programming in CHR. Technical Report CW 452, Katholieke Universteit Leuven. In: Proc. of CHR 2006, Third Workshop on Constraint Handling Rules (2006)Google Scholar
  6. 6.
    Newman, M.H.A.: On theories with a combinatorial definition of equivalence. Annals of Mathematics 43(2), 223–243 (1942)CrossRefGoogle Scholar
  7. 7.
    Peyton Jones, S.: Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)Google Scholar
  8. 8.
    Schrijvers, T., Frühwirth, T.W.: Analysing the CHR Implementation of Union-Find. In: Wolf, A., Frühwirth, T.W., Meister, M. (eds.) W(C)LP. Ulmer Informatik-Berichte, Universität Ulm, Germany, vol. 2005-01, pp. 135–146 (2005)Google Scholar
  9. 9.
    Schrijvers, T., Frühwirth, T.W.: Optimal union-find in Constraint Handling Rules. TPLP 6(1-2), 213–224 (2006)MATHGoogle Scholar
  10. 10.
    Sulzmann, M., Duck, G.J., Peyton Jones, S., Stuckey, P.J.: Understanding Functional Dependencies via Constraint Handling Rules. Journal of Functional Programming 17(1), 83–129 (2007)MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Gregory J. Duck
    • 1
  • Peter J. Stuckey
    • 1
  • Martin Sulzmann
    • 2
  1. 1.NICTA Victoria Laboratory, Department of Computer Science and Software Engineering, University of Melbourne, 3010Australia
  2. 2.School of Computing, National University of Singapore, S16 Level 5, 3 Science Drive 2,117543Singapore

Personalised recommendations