The expressive power of CHR with priorities

Maurizio Gabbrielli, Jacopo Mauro*, Maria Chiara Meo

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review

Abstract

Constraint Handling Rules (CHR) is a committed-choice declarative language which has been originally designed for writing constraint solvers and which is nowadays a general purpose language. Recently the language has been extended by introducing user-definable (static or dynamic) rule priorities. The resulting language allows a better control over execution while retaining a declarative and flexible style of programming. In this paper we study the expressive power of this language. We first show that, in the presence of priorities, differently from the case of standard CHR, considering more than two atoms in the heads of rules does not augment the expressive power of the language. Next we show that also dynamic priorities do not augment the expressive power w.r.t. static priorities. These results are proved by providing explicitly a translation of one language into another one, which preserves a reference semantics. Finally we show that CHR with priorities is strictly more expressive than standard CHR (under the theoretical operational semantics). This result is obtained by adapting to the CHR case a notion of language encoding which allows to compare Turing powerful languages.

Original languageEnglish
JournalInformation and Computation
Volume228-229
Pages (from-to)62-82
Number of pages21
ISSN0890-5401
DOIs
Publication statusPublished - 1. Jul 2013
Externally publishedYes

Keywords

  • Constraints
  • Expressive power
  • Language encoding

Fingerprint

Dive into the research topics of 'The expressive power of CHR with priorities'. Together they form a unique fingerprint.

Cite this