Skip to main content
Log in

Satisfiability checking using Boolean Expression Diagrams

  • Special section on trends in verification and validation
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

In this paper we present an algorithm for determining satisfiability of general Boolean formulas which are not necessarily in conjunctive normal form. The algorithm extends the well-known Davis–Putnam algorithm to work on Boolean formulas represented using Boolean Expression Diagrams (BEDs). The BED data structure allows the algorithm to take advantage of the built-in reduction rules and the sharing of sub-formulas. Furthermore, it is possible to combine the algorithm with traditional BDD construction (using Bryant’s Apply-procedure). By adjusting a single parameter to the BedSat algorithm, it is possible to control to what extent the algorithm behaves like the Apply-algorithm or like a SAT-solver. Thus, the algorithm can be seen as bridging the gap between standard SAT-solvers and BDDs. We present promising experimental results for 566 non-clausal formulas obtained from the multi-level combinational circuits in the ISCAS’85 benchmark suite and from performing model checking of a shift-and-add multiplier.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abdulla, P.A., Bjesse, P., Eén, N.: Symbolic reachability analysis based on SAT solvers. In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS), 2000

  2. Andersen, H.R., Hulgaard, H.: Boolean expression diagrams. Information and Computation. (To appear)

  3. Andersen, H.R., Hulgaard, H.: Boolean expression diagrams. In: IEEE Symposium on Logic in Computer Science (LICS), July 1997

  4. Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic model checking using SAT procedures instead of BDDs. In: Proc. ACM/IEEE Design Automation Conference (DAC), 1999

  5. Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS), Lecture Notes in Computer Science, vol. 1579. Springer-Verlag, 1999

  6. Biere, A., Clarke, E., Raimi, R., Zhu, Y.: Verifying safety properties of a PowerPC microprocessor using symbolic model checking without BDDs. In Computer Aided Verification (CAV), Lecture Notes in Computer Science, vol. 1633. Springer-Verlag, 1999

  7. Bjesse, P.: SAT-based verification without state space traversal. In: Proc. Formal Methods in Computer-Aided Design, Third International Conference, FMCAD’00, Austin, Texas, USA, Lecture Notes in Computer Science, November 2000

  8. Brglez, F., Fujiware, H.: A neutral netlist of 10 combinational benchmarks circuits and a target translator in Fortran. In: Special Session International Symposium on Circuits and Systems (ISCAS), 1985

  9. Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers 35(8): 677–691, August 1986

    Google Scholar 

  10. Bryant, R.E.: Binary decision diagrams and beyond: Enabling technologies for formal verification. In: Proc. International Conf. Computer-Aided Design (ICCAD), November 1995, pp. 236–243

  11. Davis, M., Longemann, G., Loveland, D.: A machine program for theorem-proving. Communications of the ACM 5(7): 394–397, July 1962

    Article  Google Scholar 

  12. Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the ACM 7: 201–215, 1960

    Article  Google Scholar 

  13. Giunchiglia, E., Sebastiani, R.: Applying the Davis-Putnam procedure to non-clausal formulas. In: Proc. Italian National Conference on Artificial Intelligence, volume 1792 of Lecture Notes in Computer Science, Bologna, Italy. Springer-Verlag, September 1999

  14. Holger Hoos, H., Thomas Stützle. SATLIB – the satisfiability library. http://www.satlib.org

  15. Hulgaard, H., Williams, P.F., Andersen, H.R.: Equivalence checking of combinational circuits using boolean expression diagrams. IEEE Transactions on Computer Aided Design, July 1999

  16. Kunz, W., Pradhan, D.K.: Recursive learning: A new implication technique for efficient solutions to CAD problems – test, verification, optimization. IEEE Transactions on Computer Aided Design 13(9): 1143–1158, September 1994

    Article  Google Scholar 

  17. Marques-Silva, J.P., Sakallah, K.A.: GRASP: A search algorithm for propositional satisfiability. IEEE Transactions on Computers 48: 506–521, 1999

    Article  MathSciNet  Google Scholar 

  18. Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: Proc. of the 39th Design Automation Conference, Las Vegas, June 2001

  19. Mukherjee, R., Jain, J., Takayama, K., Fujita, M., Abraham, J.A., Fussell, D.S.: An Efficient Filter-Based Approach for Combinational Verification. In: Proc. of the Design, Automation and Test in Europe Conference and Exhibition, 1999

  20. Rudell, R.: Dynamic variable ordering for ordered binary decision diagrams. In: Proc. International Conf. Computer-Aided Design (ICCAD), 1993, pp. 42–47

  21. Sebastiani, R.: Applying GSAT to non-clausal formulas. Journal of Artificial Intelligence Research (JAIR), 1: 309–314, January 1994

  22. Selman, B., Levesque, H.J., Mitchell, D.: A new method for solving hard satisfiability problems. In: Rosenbloom, P., Szolovits, P. (eds.) Proc. Tenth National Conference on Artificial Intelligence, Menlo Park, California. American Association for Artificial Intelligence, AAAI Press, 1992, pp. 440–446

  23. Sheeran, M., Stålmarck, G.: A tutorial on Stålmarck’s proof procedure for propositional logic. In: Gopalakrishnan, G., Windley, P.J. (eds.) Proc. Formal Methods in Computer-Aided Design, Second International Conference, FMCAD’98, Palo Alto/CA, USA, Lecture Notes in Computer Science, vol. 1522. November 1998, pp. 82–99

  24. van Eijk, C.A.J.: Sequential equivalence checking without state space traversal. In: Proc. International Conf. on Design Automation and Test of Electronic-based Systems (DATE), 1998

  25. Williams, P.F.: Formal Verification Based on Boolean Expression Diagrams. PhD thesis, Dept. of Information Technology, Technical University of Denmark, Lyngby, Denmark, August 2000. ISBN 87-89112-59-8

  26. Williams, P.F., Biere, A., Clarke, E.M., Gupta, A.: Combining decision diagrams and SAT procedures for efficient symbolic model checking. In: Computer Aided Verification (CAV), Lecture Notes in Computer Science, vol. 1855. Chicago, U.S.A.. Springer-Verlag, July 2000, pp. 124–138

  27. Zhang, H.: SATO: An efficient propositional prover. In: William McCune, editor, Proceedings of the 14th International Conference on Automated deduction, Lecture Notes in Artificial Intelligence, vol. 1249. Berlin, Springer-Verlag, July 1997, pp. 272–275

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Poul F. Williams, Henrik R. Andersen or Henrik Hulgaard.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Williams, P., Andersen, H. & Hulgaard, H. Satisfiability checking using Boolean Expression Diagrams. Int J Softw Tools Technol Transfer 5, 4–14 (2003). https://doi.org/10.1007/s10009-002-0102-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-002-0102-5

Navigation