To Ackermann-ize or Not to Ackermann-ize? On Efficiently Handling Uninterpreted Function Symbols in \(\mathit{SMT}(\mathcal{EUF} \cup \mathcal{T})\)

  • Roberto Bruttomesso
  • Alessandro Cimatti
  • Anders Franzén
  • Alberto Griggio
  • Alessandro Santuari
  • Roberto Sebastiani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4246)


Satisfiability Modulo Theories \((\mathit{SMT}(\mathcal{T}))\) is the problem of deciding the satisfiability of a formula with respect to a given background theory \({\mathcal{T}}\). When \({\mathcal{T}}\) is the combination of two simpler theories \({{\mathcal{T}}_1}\) and \({{\mathcal{T}}_2} ({\mathit{SMT}({{\mathcal{T}}_1\cup{\mathcal{T}}_2})})\), a standard and general approach is to handle the integration of \({{\mathcal{T}}_1}\) and \({{\mathcal{T}}_2}\) by performing some form of search on the equalities between the shared variables.

A frequent and very relevant sub-case of \({\mathit{SMT}({{\mathcal{T}}_1\cup{\mathcal{T}}_2})}\) is when \({{\mathcal{T}}_1}\) is the theory of Equality and Uninterpreted Functions \(({\mathcal{EUF}})\). For this case, an alternative approach is to eliminate first all uninterpreted function symbols by means of Ackermann’s expansion, and then to solve the resulting \({\mathit{SMT}}({{\mathcal{T}}_2})\) problem.

In this paper we build on the empirical observation that there is no absolute winner between these two alternative approaches, and that the performance gaps between them are often dramatic, in either direction.

We propose a simple technique for estimating a priori the costs and benefits, in terms of the size of the search space of an \({\mathit{SMT}}\) tool, of applying Ackermann’s expansion to all or part of the function symbols.

A thorough experimental analysis, including the benchmarks of the SMT’05 competition, shows that the proposed technique is extremely effective in improving the overall performance of the \({\mathit{SMT}}\) tool.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ackermann, W.: Solvable Cases of the Decision Problem. North Holland Pub. Co., Amsterdam (1954)zbMATHGoogle Scholar
  2. 2.
    Armando, A., Castellini, C., Giunchiglia, E., Maratea, M.: A SAT-Based Decision Procedure for the Boolean Combination of Difference Constraints. In: H. Hoos, H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 16–29. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Barrett, C.W., Berezin, S.: CVC Lite: A New Implementation of the Cooperating Validity Checker Category B. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Barrett, C.W., de Moura, L., Stump, A.: SMT-COMP: Satisfiability Modulo Theories Competition. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 20–23. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T.A., van Rossum, P., Schulz, S., Sebastiani, R.: An Incremental and Layered Procedure for the Satisfiability of Linear Arithmetic Logic. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 317–333. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T.A., Ranise, S., van Rossum, P., Sebastiani, R.: Efficient Satisfiability Modulo Theories via Delayed Theory Combination. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 335–349. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Ranise, S., Sebastiani, R.: Efficient Theory Combination via Boolean Search. Information and Computation (to appear, 2005)Google Scholar
  8. 8.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Schulz, S., Sebastiani, R.: MathSAT: A Tight Integration of SAT and Mathematical Decision Procedure. Journal of Automated Reasoning (to appear, 2005)Google Scholar
  9. 9.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: Delayed Theory Combination vs. Nelson-Oppen for Satisfiability Modulo Theories: A Comparative Analysis. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS, vol. 4246, pp. 527–541. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Cotton, S., Asarin, E., Maler, O., Niebert, P.: Some Progress in Satisfiability Checking for Difference Logic. In: Proc. FORMATS-FTRTFT 2004 (2004)Google Scholar
  11. 11.
    Filliâtre, J.-C., Owre, S., Rueß, H., Shankar, N.: ICS: Integrated Canonizer and Solver. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 246–249. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): Fast decision procedures. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 175–188. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Nelson, G., Oppen, D.C.: Simplification by Cooperating Decision Procedures. ACM Trans. on Programming Languages and Systems 1(2), 245–257 (1979)zbMATHCrossRefGoogle Scholar
  14. 14.
    Ranise, S., Tinelli, C.: The SMT-LIB Standard: Version 1.1. Technical Report (2005)Google Scholar
  15. 15.
    Shostak, R.E.: Deciding Combinations of Theories. Journal of the ACM 31, 1–12 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Zhang, L., Malik, S.: The quest for efficient boolean satisfiability solvers. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 17–36. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Roberto Bruttomesso
    • 1
  • Alessandro Cimatti
    • 1
  • Anders Franzén
    • 1
    • 2
  • Alberto Griggio
    • 2
  • Alessandro Santuari
    • 2
  • Roberto Sebastiani
    • 2
  1. 1.ITC-IRSTPovo, TrentoItaly
  2. 2.DITUniversità di TrentoItaly

Personalised recommendations