Abstract
Constraint Handling Rules (CHRs) are a high-level rule-based programming language commonly used to write constraint solvers. The theoretical operational semantics for CHRs is highly non-deterministic and relies on writing confluent programs to have a meaningful behaviour. Implementations of CHRs use an operational semantics which is considerably finer than the theoretical operational semantics, but is still non-deterministic (from the user’s perspective). This paper formally defines this refined operational semantics and proves it implements the theoretical operational semantics. It also shows how to create a (partial) confluence checker capable of detecting programs which are confluent under this semantics, but not under the theoretical operational semantics. This supports the use of new idioms in CHR programs.
Keywords
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abdennadher, S.: Operational semantics and confluence of constraint propagation rules. In: Smolka, G. (ed.) Proceedings of the Third International Conference on Principles and Practice of Constraint Programming, pp. 252–266 (1997)
Abdennadher, S., Frühwirth, T., Muess, H.: Confluence and semantics of constraint simplification rules. Constraints 4(2), 133–166 (1999)
Apt, K., Monfroy, E.: Automatic generation of constraint propagation algorithms for small finite domains. In: Principles and Practice of Constraint Programming, pp. 58–72 (1999)
Demoen, B., García de la Banda, M., Harvey, W., Marriott, K., Stuckey, P.J.: An overview of HAL. In: Proceedings of the Fourth International Conference on Principles and Practices of Constraint Programming, pp. 174–188 (1999)
Duck, G.J., Stuckey, P.J., García de la Banda, M., Holzbaur, C.: Extending arbitrary solvers with constraint handling rules. In: Miller, D. (ed.) Proceedings of the Fifth ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, pp. 79–90. ACM Press, New York (2003)
Frühwirth, T.: http://www.pms.informatik.uni-muenchen.de/~webchr/
Frühwirth, T.: Theory and practice of constraint handling rules. Journal of Logic Programming 37, 95–138 (1998)
Frühwirth, T.: Proving termination of constraint solver programs. In: Apt, K.R., Kakas, A.C., Monfroy, E., Rossi, F. (eds.) Compulog Net WS 1999. LNCS (LNAI), vol. 1865, pp. 298–317. Springer, Heidelberg (2000)
García de la Banda, M., Stuckey, P.J., Harvey, W., Marriott, K.: Mode checking in HAL. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 1270–1284. Springer, Heidelberg (2000)
Holzbaur, C., Frühwirth, T.: Compiling constraint handling rules into Prolog with attributed variables. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 117–133. Springer, Heidelberg (1999)
Holzbaur, C., Frühwirth, T.: A Prolog constraint handling rules compiler and runtime system. Journal of Applied Artificial Intelligence 14(4) (2000)
Holzbaur, C., Stuckey, P.J., García de la Banda, M., Jeffery, D.: Optimizing compilation of constraint handling rules. In: Codognet, P. (ed.) Logic Programming: Proceedings of the 17th International Conference. LNCS, pp. 74–89. Springer, Heidelberg (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Duck, G.J., Stuckey, P.J., de la Banda, M.G., Holzbaur, C. (2004). The Refined Operational Semantics of Constraint Handling Rules. In: Demoen, B., Lifschitz, V. (eds) Logic Programming. ICLP 2004. Lecture Notes in Computer Science, vol 3132. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27775-0_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-27775-0_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22671-0
Online ISBN: 978-3-540-27775-0
eBook Packages: Springer Book Archive