In this article, we present a small, complete, and efficient SAT-solver in the style of conflict-driven learning, as exemplified by Chaff. We aim to give sufficient details about implementation to enable the reader to construct his or her own solver in a very short time. This will allow users of SAT-solvers to make domain specific extensions or adaptions of current state-of-the-art SAT-techniques, to meet the needs of a particular application area. The presented solver is designed with this in mind, and includes among other things a mechanism for adding arbitrary boolean constraints. It also supports solving a series of related SAT-problems efficiently by an incremental SAT-interface.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AR+02]
    Aloul, F., Ramani, A., Markov, I., Sakallah, K.: Generic ILP vs. Specialized 0-1 ILP: an Update. In: International Conference on Computer Aided Design, ICCAD (2002)Google Scholar
  2. [BC+99]
    Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic Model Checking using SAT procedures instead of BDDs. In: Proceedings of Design Automation Conference, DAC 1999 (1999)Google Scholar
  3. [CS03]
    Claessen, K., Sörensson, N.: New Techniques that Improve MACEstyle Finite Model Finding. In: CADE-19, Workshop W4. Model Computation – Principles, Algorithms, Applications (2003)Google Scholar
  4. [DLL62]
    Davis, M., Logman, M., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5 (1962)Google Scholar
  5. [ES03]
    Eén, N., Sörensson, N.: Temporal Induction by Incremental SAT Solving. In: Proc. of First International Workshop on Bounded Model Checking (2003)Google Scholar
  6. [Lar92]
    Larrabee, T.: Test Pattern Generation Using Boolean Satisfiability. IEEE Transactions on Computer-Aided Design, vol 11(1) (1992)Google Scholar
  7. [MS96]
    Marques-Silva, J.P., Sakallah, K.A.: GRASP – A New Search Algorithm for Satisfiability. In: ICCAD. IEEE Computer Society Press, Los Alamitos (1996)Google Scholar
  8. [MZ01]
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: Proc. of the 38th Design Automation Conference (2001)Google Scholar
  9. [ZM01]
    Zhang, L., Madigan, C.F., Moskewicz, M.W., Malik, S.: Efficient Conflict Driven Learning in Boolean Satisfiability Solver. In: Proc. of the International Conference on Computer Aided Design, ICCAD (2001)Google Scholar
  10. [WKS01]
    Whittemore, J., Kim, J., Sakallah, K.: SATIRE: A New Incremental Satisfiability Engine. In: Proc. 38th Conf. on Design Automation. ACM Press, New York (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Niklas Eén
    • 1
  • Niklas Sörensson
    • 1
  1. 1.Chalmers University of TechnologySweden

Personalised recommendations