Petri nets: an introduction
The family of concurrent logic programming languages
ACM Computing Surveys (CSUR)
Programming by multiset transformation
Communications of the ACM
Embedding as a tool for language comparison
Information and Computation
From logic programming to Prolog
From logic programming to Prolog
Coordination languages and their significance
Communications of the ACM
Expressive Results for Process Algebras
Proceedings of the REX Workshop on Sematics: Foundations and Applications
On the incomparability of Gamma and Linda
On the incomparability of Gamma and Linda
Comparing the expressive power of the synchronous and asynchronous $pi$-calculi
Mathematical Structures in Computer Science
Computation: finite and infinite machines
Computation: finite and infinite machines
Tutorial on separation results in process calculi via leader election problems
Theoretical Computer Science
On the expressive power of priorities in CHR
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Decidability properties for fragments of chr
Theory and Practice of Logic Programming
On the Expressive Power of Multiple Heads in CHR
ACM Transactions on Computational Logic (TOCL)
The expressive power of CHR with priorities
Information and Computation
Hi-index | 0.00 |
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.