Skip to main content

Expressiveness of Multiple Heads in CHR

  • Conference paper
SOFSEM 2009: Theory and Practice of Computer Science (SOFSEM 2009)

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abdennadher, S.: Operational semantics and confluence of constraint propagation rules. In: Principles and Practice of Constraint Programming, pp. 252–266 (1997)

    Google Scholar 

  2. Apt, K.R.: From logic programming to Prolog. Prentice-Hall, Inc., Upper Saddle River (1996)

    Google Scholar 

  3. Banâtre, J.-P., Métayer, D.L.: Programming by multiset transformation. Commun. ACM 36(1), 98–111 (1993)

    Article  Google Scholar 

  4. de Boer, F.S., Palamidessi, C.: Embedding as a tool for language comparison. Information and Computation 108(1), 128–157 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  5. Di Giusto, C., Gabbrielli, M., Meo, M.C.: On the expressive power of CHR. Technical report (2008)

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. Frühwirth, T.: Introducing simplification rules. Technical report (1991)

    Google Scholar 

  8. Frühwirth, T.: As time goes by: Automatic complexity analysis of simplification rules. In: KR 2002 (2002)

    Google Scholar 

  9. Frühwirth, T.W.: Theory and practice of constraint handling rules. J. Log. Program. 37(1-3), 95–138 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  10. 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)

    Google Scholar 

  11. Gelernter, D., Carriero, N.: Coordination languages and their significance. Commun. ACM 35(2), 96 (1992)

    Article  Google Scholar 

  12. Minsky, M.: Computation: finite and infinite machines. Prentice-Hall, Englewood Cliffs (1967)

    MATH  Google Scholar 

  13. Palamidessi, C.: Comparing the expressive power of the synchronous and asynchronous pi-calculi. Mathematical. Structures in Comp. Sci. 13(5), 685–719 (2003)

    Article  MathSciNet  Google Scholar 

  14. Reisig, W.: Petri nets: an introduction. Springer, New York (1985)

    Book  MATH  Google Scholar 

  15. Shapiro, E.Y.: The family of concurrent logic programming languages. ACM Comput. Surv. 21(3), 413–510 (1989)

    Article  Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Chapter  Google Scholar 

  18. 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)

    Article  MathSciNet  MATH  Google Scholar 

  19. Zavattaro, G.: On the incomparability of gamma and linda. Technical report, Amsterdam, The Netherlands (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics