Hostname: page-component-6898cfcb55-cbk24 Total loading time: 0 Render date: 2026-11-11T08:18:31.519Z Has data issue: false hasContentIssue false

SMCHR: Satisfiability modulo constraint handling rules

Published online by Cambridge University Press:  05 September 2012

GREGORY J. DUCK*
Affiliation:
School of Computing, National University of Singapore (e-mail: gregory@comp.nus.edu.sg)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Constraint Handling Rules (CHRs) are a high-level rule-based programming language for specification and implementation of constraint solvers. CHR manipulates a global store representing a flat conjunction of constraints. By default, CHR does not support goals with a more complex propositional structure including disjunction, negation, etc., or CHR relies on the host system to provide such features. In this paper we introduce Satisfiability Modulo Constraint Handling Rules (SMCHR): a tight integration of CHR with a modern Boolean Satisfiability (SAT) solver for quantifier-free formulae with an arbitrary propositional structure. SMCHR is essentially a Satisfiability Modulo Theories (SMT) solver where the theory T is implemented in CHR. The execution algorithm of SMCHR is based on lazy clause generation, where a new clause for the SAT solver is generated whenever a rule is applied. We shall also explore the practical aspects of building an SMCHR system, including extending a “built-in” constraint solver supporting equality with unification and justifications.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2012