Abstract
Constraint Handling Rules (CHR) is a general purpose, committed-choice declarative language which, differently from other similar languages, uses multi-headed (guarded) rules.
In this paper we prove that multiple heads augment the expressive power of the language. In fact, we first show that restricting to single head rules affects the Turing completeness of CHR, provided that the underlying signature (for the constraint theory) does not contain function symbols. Next we show that, also when considering generic constraint theories, under some rather reasonable assumptions it is not possible to encode CHR (with multi-headed rules) into a single-headed CHR language while preserving the semantics of programs. As a corollary we obtain that, under these assumptions, CHR can be encoded neither in (constraint) logic programming nor in pure Prolog.
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: Principles and Practice of Constraint Programming, pp. 252–266 (1997)
Apt, K.R.: From logic programming to Prolog. Prentice-Hall, Inc., Upper Saddle River (1996)
Banâtre, J.-P., Métayer, D.L.: Programming by multiset transformation. Commun. ACM 36(1), 98–111 (1993)
de Boer, F.S., Palamidessi, C.: Embedding as a tool for language comparison. Information and Computation 108(1), 128–157 (1994)
Di Giusto, C., Gabbrielli, M., Meo, M.C.: On the expressive power of CHR. Technical report (2008)
Duck, G.J., Stuckey, P.J., García de la Banda, M., Holzbaur, C.: The refined operational semantics of constraint handling rules. In: Demoen, B., Lifschitz, V. (eds.) ICLP 2004. LNCS, vol. 3132, pp. 90–104. Springer, Heidelberg (2004)
Frühwirth, T.: Introducing simplification rules. Technical report (1991)
Frühwirth, T.: As time goes by: Automatic complexity analysis of simplification rules. In: KR 2002 (2002)
Frühwirth, T.W.: Theory and practice of constraint handling rules. J. Log. Program. 37(1-3), 95–138 (1998)
Frühwirth, T.W.: As time goes by II: More automatic complexity analysis of concurrent rule programs. Electr. Notes Theor. Comput. Sci. 59(3) (2001)
Gelernter, D., Carriero, N.: Coordination languages and their significance. Commun. ACM 35(2), 96 (1992)
Minsky, M.: Computation: finite and infinite machines. Prentice-Hall, Englewood Cliffs (1967)
Palamidessi, C.: Comparing the expressive power of the synchronous and asynchronous pi-calculi. Mathematical. Structures in Comp. Sci. 13(5), 685–719 (2003)
Reisig, W.: Petri nets: an introduction. Springer, New York (1985)
Shapiro, E.Y.: The family of concurrent logic programming languages. ACM Comput. Surv. 21(3), 413–510 (1989)
Sneyers, J., Schrijvers, T., Demoen, B.: The computational power and complexity of Constraint Handling Rules. In: Schrijvers, T., Frühwirth, T. (eds.) CHR 2005, vol. CW 421, pp. 3–17 (2005)
Vaandrager, F.W.: Expressive results for process algebras. In: Proceedings of the REX Workshop on Sematics: Foundations and Applications, London, UK, pp. 609–638. Springer, London (1993)
Vigliotti, M.G., Phillips, I., Palamidessi, C.: Tutorial on separation results in process calculi via leader election problems. Theor. Comput. Sci. 388(1-3), 267–289 (2007)
Zavattaro, G.: On the incomparability of gamma and linda. Technical report, Amsterdam, The Netherlands (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Di Giusto, C., Gabbrielli, M., Meo, M.C. (2009). Expressiveness of Multiple Heads in CHR. In: Nielsen, M., Kučera, A., Miltersen, P.B., Palamidessi, C., Tůma, P., Valencia, F. (eds) SOFSEM 2009: Theory and Practice of Computer Science. SOFSEM 2009. Lecture Notes in Computer Science, vol 5404. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-95891-8_21
Download citation
DOI: https://doi.org/10.1007/978-3-540-95891-8_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-95890-1
Online ISBN: 978-3-540-95891-8
eBook Packages: Computer ScienceComputer Science (R0)