The Barcelogic SMT Solver

Tool Paper
  • Miquel Bofill
  • Robert Nieuwenhuis
  • Albert Oliveras
  • Enric Rodríguez-Carbonell
  • Albert Rubio
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5123)


This is the first system description of the Barcelogic SMT solver, which implements all techniques that our group has been developing over the last four years as well as state-of-the-art features developed by other research groups. We pay special attention to the theory solvers and to functionalities that are not common in SMT solvers.


Predicate Abstraction Linear Arithmetic Theory Solver Exhaustive Theory Primal Simplex Algorithm 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [BBC+05]
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Schulz, S., Sebastiani, R.: The MathSAT 3 System. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 315–321. Springer, Heidelberg (2005)Google Scholar
  2. [BNOT06]
    Barrett, C., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Splitting on Demand in SAT Modulo Theories. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS (LNAI), vol. 4246, pp. 512–526. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. [DdM06]
    Dutertre, B., de Moura, L.: A Fast Linear-Arithmetic Solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. [ES04]
    Eén, N., Sörensson, N.: An Extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)Google Scholar
  5. [GMP]
    The GNU MP Bignum Library,
  6. [LNO06]
    Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT Techniques for Fast Predicate Abstraction. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 424–437. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. [Mar86]
    Maros, I.: Computational Techniques of the Simplex Method. Kluwer’s International Series (2003) Google Scholar
  8. [MMZ+01]
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: 38th Design Automation Conference, DAC 2001, pp. 530–535. ACM Press, New York (2001)CrossRefGoogle Scholar
  9. [NO05]
    Nieuwenhuis, R., Oliveras, A.: DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 321–334. Springer, Heidelberg (2005)Google Scholar
  10. [NO06]
    Nieuwenhuis, R., Oliveras, A.: On SAT Modulo Theories and Optimization Problems. In: Biere, A., Gomes, C.P. (eds.) SAT 2006. LNCS, vol. 4121, pp. 156–169. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. [NO07]
    Nieuwenhuis, R., Oliveras, A.: Fast Congruence Closure and Extensions. Information and Computation, IC 2005(4), 557–580 (2007)CrossRefMathSciNetGoogle Scholar
  12. [NOT06]
    Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT Modulo Theories: From an abstract Davis-Putnam-Logemann-Loveland procedure to DPLL(T). Journal of the ACM, J. ACM 53(6), 937–977 (2006)MathSciNetGoogle Scholar
  13. [RS04]
    Rueß, H., Shankar, N.: Solving Linear Arithmetic Constraints. Technical Report CSL-SRI-04-01, SRI International (2004)Google Scholar
  14. [SM06]
    Cotton, S., Maler, O.: Fast and Flexible Difference Constraint Propagation for DPLL(T). In: Biere, A., Gomes, C.P. (eds.) SAT 2006. LNCS, vol. 4121, pp. 170–183. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. [TR05]
    Tinelli, C., Ranise, S.: SMT-LIB: The Satisfiability Modulo Theories Library (2005),

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Miquel Bofill
    • 1
  • Robert Nieuwenhuis
    • 2
  • Albert Oliveras
    • 2
  • Enric Rodríguez-Carbonell
    • 2
  • Albert Rubio
    • 2
  1. 1.Universitat de Girona 
  2. 2.Technical University of CataloniaBarcelona

Personalised recommendations