Compiling finite domain constraints to SAT with BEE*

Amit Metodi, Michael Codish

Research output: Contribution to journalArticlepeer-review

37 Scopus citations


Abstract We present BEE, a compiler which enables to encode finite domain constraint problems to CNF. Using BEE both eases the encoding process for the user and also performs transformations to simplify constraints and optimize their encoding to CNF. These optimizations are based primarily on equi-propagation and on partial evaluation, and also on the idea that a given constraint may have various possible CNF encodings. Often, the better encoding choice is made after constraint simplification. BEE is written in Prolog and integrates directly with a SAT solver through a suitable Prolog interface. We demonstrate that constraint simplification is often highly beneficial when solving hard finite domain constraint problems. A BEE implementation is available with this paper.

Original languageEnglish
Pages (from-to)465-483
Number of pages19
JournalTheory and Practice of Logic Programming
Issue number4-5
StatePublished - 1 Jul 2012


  • FD constraints
  • SAT encoding
  • equi-propagation
  • partial evaluation

ASJC Scopus subject areas

  • Software
  • Artificial Intelligence
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics


Dive into the research topics of 'Compiling finite domain constraints to SAT with BEE*'. Together they form a unique fingerprint.

Cite this