Existential Quantification as Incremental SAT

  • Jörg Brauer
  • Andy King
  • Jael Kriener
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6806)


This paper presents an elegant algorithm for existential quantifier elimination using incremental SAT solving. This approach contrasts with existing techniques in that it is based solely on manipulating the SAT instance rather than requiring any reengineering of the SAT solver or needing an auxiliary data-structure such as a BDD. The algorithm combines model enumeration with the generation of shortest prime implicants so as to converge onto a quantifier-free formula presented in CNF. We apply the technique to a number of hardware circuits and transfer functions to demonstrate the effectiveness of the method.


Model Check Boolean Function Cardinality Constraint Symbolic Model Check Predicate Abstraction 
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. 1.
    Aloul, F.A., Markov, I.L., Sakallah, K.A.: Faster SAT and Smaller BDDs via Common Function Structure. In: ICCAD, pp. 443–448 (2001)Google Scholar
  2. 2.
    Armstrong, T., Marriott, K., Schachte, P., Søndergaard, H.: Two Classes of Boolean Functions for Dependency Analysis. Sci. Comp. Program. 31(1), 3–45 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Barrett, E., King, A.: Range and Set Abstraction Using SAT. Electronic Notes in Theoretical Computer Science 267(1), 17–27 (2010)CrossRefzbMATHGoogle Scholar
  4. 4.
    Blake, A.: Canonical expressions in Boolean algebra. University of Chicago, Chicago (1938)zbMATHGoogle Scholar
  5. 5.
    Brauer, J., King, A.: Automatic abstraction for intervals using boolean formulae. In: Cousot, R., Martel, M. (eds.) SAS 2010. LNCS, vol. 6337, pp. 167–183. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Brauer, J., King, A.: Approximate quantifier elimination for propositional boolean formulae. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 73–88. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  7. 7.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: The mathSAT 4 SMT solver. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 299–303. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Bryant, R.: Boolean analysis of MOS circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 6(4), 634–649 (1987)CrossRefGoogle Scholar
  9. 9.
    Bryant, R.E.: A view from the engine room: Computational support for symbolic model checking. In: Grumberg, O., Veith, H. (eds.) 25 Years of Model Checking. LNCS, vol. 5000, pp. 145–149. Springer, Heidelberg (2008), CrossRefGoogle Scholar
  10. 10.
    Burch, J.R., Clarke, E.M., McMillan, K.L.: Symbolic model checking: 1020 states and beyond. Information and Computation 98, 142–170 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Cavada, R., Cimatti, A., Franzén, A., Kalyanasundaram, K., Roveri, M., Shyamasundar, R.K.: Computing predicate abstractions by integrating BDDs and SMT solvers. In: FMCAD, pp. 69–76. IEEE Computer Society Press, Los Alamitos (2007)Google Scholar
  12. 12.
    Chauhan, P., Clarke, E.M., Kroening, D.: A SAT-based algorithm for reparameterization in symbolic simulation. In: DAC, pp. 524–529. ACM Press, New York (2004)Google Scholar
  13. 13.
    Clarke, E., Talupur, M., Veith, H., Wang, D.: SAT based predicate abstraction for hardware verification. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 78–92. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  14. 14.
    Cook, B., Kroening, D., Rümmer, P., Wintersteiger, C.M.: Ranking function synthesis for bit-vector relations. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 236–250. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Coudert, O., Madre, J.C.: Implicit and Incremental Computation of Primes and Essential Primes of Boolean Functions. In: DAC, pp. 36–39. IEEE Computer Society Press, Los Alamitos (1992)Google Scholar
  16. 16.
    Damiano, R.F., Kukula, J.H.: Checking satisfiability of a conjunction of BDDs. In: DAC, pp. 818–823. ACM Press, New York (2003)Google Scholar
  17. 17.
    Das, S., Dill, D.L., Park, S.: Experience with predicate abstraction. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 160–171. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  18. 18.
    Eén, N., Sörensson, N.: Translating Pseudo-Boolean Constraints into SAT. JSAT 2(1-4), 1–26 (2006)zbMATHGoogle Scholar
  19. 19.
    Flanagan, C., Qadeer, S.: Predicate Abstraction for Software Verification. In: POPL, pp. 191–202. ACM Press, New York (2002)Google Scholar
  20. 20.
    Genaim, S., Giacobazzi, R., Mastroeni, I.: Modeling Secure Information Flow with Boolean Functions. In: IFIP WG 1.7, ACM Workshop on Issues in the Theory of Security, Barcelona, Spain, pp. 55–66 (2004)Google Scholar
  21. 21.
    Graf, S., Saïdi, H.: Construction of Abstract State Graphs with PVS. In: CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)Google Scholar
  22. 22.
    Gupta, A., Yang, Z.-J., Ashar, P., Gupta, A.: SAT-based image computation with application in reachability analysis. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 354–371. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  23. 23.
    Jin, H., Somenzi, F.: CirCUs: A hybrid satisfiability solver. In: Holger Hoos, H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 211–223. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  24. 24.
    Kettle, N., King, A., Strzemecki, T.: Widening rOBDDs with prime implicants. In: Hermanns, H. (ed.) TACAS 2006. LNCS, vol. 3920, pp. 105–119. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  25. 25.
    Knuth, D.E.: The Art of Computer Programming, vol. 3. Addison-Wesley, London (1997)zbMATHGoogle Scholar
  26. 26.
    Lahiri, S.K., Bryant, R.E., Cook, B.: A symbolic approach to predicate abstraction. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 141–153. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  27. 27.
    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
  28. 28.
    Manquinho, V.M., Flores, P.F., Silva, J.P.M., Oliveira, A.L.: Prime Implicant Computation Using Satisfiability Algorithms. In: International Conference on Tools with Artificial Intelligence, pp. 232–239. IEEE Computer Society Press, Los Alamitos (1997)Google Scholar
  29. 29.
    McMillan, K.L.: Applying SAT methods in unbounded symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 250–264. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  30. 30.
    Monniaux, D.: Quantifier elimination by lazy model enumeration. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 585–599. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  31. 31.
    Plaisted, D., Greenbaum, S.: A Structure-Preserving Clause Form Translation. Journal of Symbolic Computation 2(3), 293–304 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Quine, W.V.: A way to simplify truth functions. American Mathematical Monthly 62(9), 627–631 (1955)MathSciNetCrossRefzbMATHGoogle Scholar
  33. 33.
    Read, R.C.: Everyone a Winner. Annals of Discrete Mathematics 2, 107–120 (1978)CrossRefGoogle Scholar
  34. 34.
    Saïdi, H., Shankar, N.: Abstract and model check while you prove. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 443–454. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  35. 35.
    Samson, E.W., Mills, B.E.: Circuit minimization: Algebra and algorithms for new Boolean canonical expressions. Technical Report TR, pp. 21–54. United States Air Force, Cambridge Research Lab (1954)Google Scholar
  36. 36.
    Schlich, B.: Model checking of software for microcontrollers. ACM Trans. Embedded Comput. Syst 9(4), article Number 36 (2010)Google Scholar
  37. 37.
    Sheng, S., Hsiao, M.S.: Efficient Preimage Computation Using A Novel Success-Driven ATPG. In: DATE, pp. 10822–10827. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  38. 38.
    Umans, C.: The Minimum Equivalent DNF Problem and Shortest Implicants. In: FOCS, pp. 556–563. IEEE Computer Society Press, Los Alamitos (1998)Google Scholar
  39. 39.
    Weaver, S., Franco, J.V., Schlipf, J.S.: Extending Existential Quantification in Conjunctions of BDDs. JSAT 1(2), 89–110 (2006)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Jörg Brauer
    • 1
  • Andy King
    • 2
    • 3
  • Jael Kriener
    • 3
  1. 1.Embedded Software LaboratoryRWTH Aachen UniversityGermany
  2. 2.Portcullis Computer SecurityPinnerUK
  3. 3.School of ComputingUniversity of KentUK

Personalised recommendations