Towards Verifying Nonlinear Integer Arithmetic

  • Paul BeameEmail author
  • Vincent LiewEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10427)


We eliminate a key roadblock to efficient verification of nonlinear integer arithmetic using CDCL SAT solvers, by showing how to construct short resolution proofs for many properties of the most widely used multiplier circuits. Such short proofs were conjectured not to exist. More precisely, we give \(n^{O(1)}\) size regular resolution proofs for arbitrary degree 2 identities on array, diagonal, and Booth multipliers and \(n^{O(\log n)}\) size proofs for these identities on Wallace tree multipliers.


  1. 1.
    Alekhnovich, M., Razborov, A.A.: Satisfiability, branch-width and Tseitin tautologies. In: Proceedings of 43rd Symposium on Foundations of Computer Science (FOCS 2002), Vancouver, BC, Canada, pp. 593–603. IEEE Computer Society, November 2002Google Scholar
  2. 2.
    Andersson, G., Bjesse, P., Cook, B., Hanna, Z.: A proof engine approach to solving combinational design automation problems. In: Proceedings of the 39th Design Automation Conference, DAC 2002, New Orleans, LA, USA, pp. 725–730. ACM, June 2002Google Scholar
  3. 3.
    Andrade, F.V., Oliveira, M.C.M., Fernandes, A.O., Coelho Jr., C.J.N.: SAT-based equivalence checking based on circuit partitioning and special approaches for conflict clause reuse. In: Girard, P., Krasniewski, A., Gramatová, E., Pawlak, A., Garbolino, T. (eds.) Proceedings of the 10th IEEE Workshop on Design & Diagnostics of Electronic Circuits & Systems (DDECS 2007), Kraków, Poland, pp. 397–402. IEEE Computer Society, April 2007Google Scholar
  4. 4.
    Beame, P., Kautz, H.A., Sabharwal, A.: Towards understanding and harnessing the potential of clause learning. J. Artif. Intell. Res. (JAIR) 22, 319–351 (2004)MathSciNetzbMATHGoogle Scholar
  5. 5.
    Beame, P., Liew, V.: Towards verifying nonlinear integer arithmetic. CoRR, abs/1705.04302 (2017)Google Scholar
  6. 6.
    Biere, A.: Challenges in bit-precise reasoning. In: Formal Methods in Computer-Aided Design, FMCAD 2014, Lausanne, Switzerland, p. 3, October 2014Google Scholar
  7. 7.
    Biere, A.: Where does SAT not work? In: BIRS Workshop on Theory and Applications of Applied SAT Solving, January 2014.
  8. 8.
    Biere, A.: Collection of combinational arithmetic miters submitted to the SAT competition 2016. In: Balyo, T., Heule, M., Järvisalo, M. (eds.) Proceedings of SAT Competition 2016 - Solver and Benchmark Descriptions, volume B-2016-1 of Department of Computer Science Series of Publications B, pp. 65–66. University of Helsinki (2016)Google Scholar
  9. 9.
    Biere, A.: Weaknesses of CDCL solvers. In: Fields Institute Workshop on Theoretical Foundations of SAT Solving, August 2016.
  10. 10.
    Bollig, B., Wooelfel, P.: A read-once branching program lower bound of \(\varOmega (2^{n/4})\) for integer multiplication using universal hashing. In: Proceedings of the Thirty-Third Annual ACM Symposium on the Theory of Computing, Hersonissos, Crete, Greece, pp. 419–424, July 2001Google Scholar
  11. 11.
    Bollig, B.: Larger lower bounds on the OBDD complexity of integer multiplication. Inf. Comput. 209(3), 333–343 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Brinkmann, R., Drechsler, R.: RTL-datapath verification using integer linear programming. In: Proceedings of the ASPDAC 2002/VLSI Design 2002, Bangalore, India, pp. 741–746, January 2002Google Scholar
  13. 13.
    Brummayer, R., Biere, A.: Boolector: an efficient SMT solver for bit-vectors and arrays. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 174–177. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-00768-2_16 CrossRefGoogle Scholar
  14. 14.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Hanna, Z., Nadel, A., Palti, A., Sebastiani, R.: A lazy and layered SMT(\(\cal{BV}\)) solver for hard industrial verification problems. In: Proceedings, Computer Aided Verification, 19th International Conference, CAV 2007, Berlin, Germany, pp. 547–560, July 2007Google Scholar
  15. 15.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani. R.: The MathSAT 4 SMT solver. In: Proceedings, Computer Aided Verification, 20th International Conference, CAV 2008, pp. 299–303 (2008)Google Scholar
  16. 16.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986)CrossRefzbMATHGoogle Scholar
  17. 17.
    Bryant, R.E.: On the complexity of VLSI implementations and graph representations of Boolean functions with application to integer multiplication. IEEE Trans. Comput. 40(2), 205–213 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Burch, J.R., Clarke, E.M., Long, D.E., McMillan, K.L., Dill, D.L.: Symbolic model checking for sequential circuit verification. IEEE Trans. Comput.-Aided Des. Integr. Circ. 13(4), 401–424 (1994)CrossRefGoogle Scholar
  19. 19.
    Bonet, M.L., Buss, S.: An improved separation of regular resolution from pool resolution and clause learning. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 44–57. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-31612-8_5 CrossRefGoogle Scholar
  20. 20.
    Buss, S.R., Hoffmann, J., Johannsen, J.: Resolution trees with lemmas: resolution refinements that characterize DLL algorithms with clause learning. Log. Methods Comput. Sci. 4(4:13), 1–28 (2008)MathSciNetzbMATHGoogle Scholar
  21. 21.
    Buss, S.R., Kolodziejczyk, L.: Small stone in pool. Log. Methods Comput. Sci. 10(2:16), 1–22 (2014)MathSciNetzbMATHGoogle Scholar
  22. 22.
    Davis, M., Putnam, H.: A computing procedure for quantification theory. Commun. ACM 7, 201–215 (1960)MathSciNetzbMATHGoogle Scholar
  23. 23.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    de Moura, L.M.: System description: Yices 0.1. Technical report, Computer Science Laboratory, SRI International (2005)Google Scholar
  25. 25.
    Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-78800-3_24 CrossRefGoogle Scholar
  26. 26.
    Dechter, R.: Bucket elimination: a unifying framework for probabilistic inference. In: Horvitz, E., Jensen, F.V. (eds.) UAI 1996: Proceedings of the Twelfth Annual Conference on Uncertainty in Artificial Intelligence, Portland, OR, USA, pp. 211–219. Morgan Kaufmann, August 1996Google Scholar
  27. 27.
    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). doi: 10.1007/978-3-540-73368-3_52 CrossRefGoogle Scholar
  28. 28.
    Hirsch, E., Itsykson, D., Kojevnikov, A., Kulikov, A., Nikolenko, S.: Report on the mixed Boolean-algebraic solver. Technical report, Laboratory of Mathematical Logic of St. Petersburg Department of Steklov Institute of Mathematics (2005)Google Scholar
  29. 29.
    Kalla, P.: Formal verification of arithmetic datapaths using algebraic geometry and symbolic computation. In: Proceedings, Formal Methods in Computer-Aided Design, FMCAD, p. 2. Austin, TX, September 2015Google Scholar
  30. 30.
    Kovásznai, G., Fröhlich, A., Biere, A.: Complexity of fixed-size bit-vector logics. Theory Comput. Syst. 59(2), 323–376 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Krajíček, J.: Bounded Arithmetic, Propositional Logic and Complexity Theory. Cambridge University Press, Cambridge (1996)zbMATHGoogle Scholar
  32. 32.
    Kroening, D., Strichman, O.: Decision Procedures: An Algorithmic Point of View. Springer, Heidelberg (2008)zbMATHGoogle Scholar
  33. 33.
    Marques-Silva, J.P., Lynce, I., Malik, S.: CDCL solvers. In: Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability, pp. 131–154. IOS Press (2009). Chap. 4Google Scholar
  34. 34. Openssl bug cve-2016-7055 (2016)Google Scholar
  35. 35.
    Parthasarathy, G., Iyer, M.L., Cheng, K.-T., Wang, L.-C.: An efficient finite-domain constraint solver for circuits. In: Proceedings of the 41st Design Automation Conference, DAC, pp. 212–217 (2004)Google Scholar
  36. 36.
    Ponzio, S.: A lower bound for integer multiplication with read-once branching programs. In: Proceedings of the Twenty-Seventh Annual ACM Symposium on the Theory of Computing, pp. 130–139, Las Vegas, NV, May 1995Google Scholar
  37. 37.
    Reda, S., Salem, A.: Combinational equivalence checking using Boolean satisfiability and binary decision diagrams. In: Nebel, W., Jerraya, A. (eds.) Proceedings of the Conference on Design, Automation and Test in Europe, DATE 2001, Munich, Germany, pp. 122–126. IEEE Computer Society, March 2001Google Scholar
  38. 38.
    Sauerhoff, M., Woelfel, P.: Time-space tradeoff lower bounds for integer multiplication and graphs of arithmetic functions. In: Proceedings of the Thirty-Fifth Annual ACM Symposium on the Theory of Computing, pp. 186–195, San Diego, CA, June 2003Google Scholar
  39. 39.
    Sayed-Ahmed, A.A.R., Große, D., Kühne, U., Soeken, M., Drechsler, R.: Formal verification of integer multipliers by combining Gröbner basis with logic reduction. In: Fanucci, L., Teich, J. (eds.) 2016 Design, Automation & Test in Europe Conference & Exhibition, DATE 2016, pp. 1048–1053, Dresden, Germany. IEEE, March 2016Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Computer Science and EngineeringUniversity of WashingtonSeattleUSA

Personalised recommendations