Compiling Finite Domain Constraints to SAT with BEE
Amit Metodi, Michael Codish

TL;DR
BEE is a Prolog-based compiler that simplifies and optimizes finite domain constraints before encoding them into CNF for SAT solving, improving efficiency on complex problems.
Contribution
This paper introduces BEE, a novel compiler that automates the encoding of finite domain constraints into CNF with optimization techniques like equi-propagation.
Findings
Constraint simplification improves solving efficiency.
Optimized encodings lead to better SAT solver performance.
BEE effectively handles hard finite domain problems.
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Model-Driven Software Engineering Techniques
