Extending Quantifier Elimination to Linear Inequalities on Bit-Vectors

  • Ajith K. John
  • Supratik Chakraborty
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7795)


We present an algorithm for existentially quantifying variables from conjunctions of linear modular equalities (LMEs), disequalities (LMDs) and inequalities (LMIs). We use sound but relatively less complete and cheaper heuristics first, and expensive but more complete techniques are used only when required. Our experiments demonstrate that our algorithm outperforms alternative quantifier elimination techniques based on bit-blasting and Omega Test. We also extend this algorithm to work with Boolean combinations of LMEs, LMDs and LMIs.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    John, A.K., Chakraborty, S.: A Quantifier Elimination Algorithm for Linear Modular Equations and Disequations. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 486–503. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  2. 2.
    Bjørner, N., Blass, A., Gurevich, Y., Musuvathi, M.: Modular difference logic is hard. CoRR abs/0811.0987 (2008)Google Scholar
  3. 3.
    Kroening, D., Strichman, O.: Decision procedures: an algorithmic point of view. Texts in Theoretical Computer Science. Springer (2008)Google Scholar
  4. 4.
    Chaki, S., Gurfinkel, A., Strichman, O.: Decision diagrams for linear arithmetic. In: FMCAD (2009)Google Scholar
  5. 5.
  6. 6.
    CUDD release 2.4.2 website,
  7. 7.
    Enderton, H.: A mathematical introduction to logic. Academic Press (2001)Google Scholar
  8. 8.
    Pugh, W.: The Omega Test: A fast and practical integer programming algorithm for dependence analysis. Communications of the ACM, 102–114 (1992)Google Scholar
  9. 9.
    Monniaux, D.: A Quantifier Elimination Algorithm for Linear Real Arithmetic. In: Cervesato, I., Veith, H., Voronkov, A. (eds.) LPAR 2008. LNCS (LNAI), vol. 5330, pp. 243–257. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Ganesh, V., Dill, D.L.: A Decision Procedure for Bit-Vectors and Arrays. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 519–531. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Jain, H., Clarke, E., Grumberg, O.: Efficient Craig Interpolation for Linear Diophantine (Dis)Equations and Linear Modular Equations. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 254–267. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  12. 12.
    Muller-Olm, M., Seidl, H.: Analysis of modular arithmetic. ACM Transactions on Programming Languages and Systems 29(5), 29 (2007)CrossRefGoogle Scholar
  13. 13.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)Google Scholar
  14. 14.
    John, A., Chakraborty, S.: Extending quantifier elimination to linear inequalities on bit-vectors, Technical Report TR-12-35, CFDVS, IIT Bombay,

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Ajith K. John
    • 1
  • Supratik Chakraborty
    • 2
  1. 1.Homi Bhabha National InstituteBARCMumbaiIndia
  2. 2.Dept. of Computer Sc. & Engg.IIT BombayIndia

Personalised recommendations