Skip to main content
Log in

Simplification in a satisfiability checker for VLSI applications

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

INSTEP is a satisfiability checker designed for the original purpose of solving a specific target set of problems in the formal verification of VLSI circuits. These are real-world problems concerning a sequential circuit that is part of a commercial chip manufactured by Texas Instruments. The program has succeeded in solving these problems, which require satisfiability checking for combinational representations containing up to around 10 000 variables and a graphical representation of around 17 000 nodes. It has also been successfully applied to a number of standard benchmark problems in combinational circuit verification. Results on these benchmarks are overall competitive with those for the widely used method based onbinary decision diagrams, and for the first time demonstrate the solution in polynomial time of certain benchmarks involving combinational multipliers.

A central part of the INSTEP algorthim is simplification. Most simplifications that take place in previous tautology checkers consist of the replacement of a formula by a shorter formula that is logically equivalent. Most simplifications in INSTEP replace a formula by another formula which isnot logically equivalent, but such that satisfiability is nevertheless preserved. These new simplifications depend on the pattern of occurrence of one or more variables and particularly on theirpolarity.

The simplifications used by INSTEP rest on several new theorems in an area of propositional calculus (or Boolean algebra) which is crucial to the general theory of effective simplification of propositional formulas. The primary purpose of the present paper is to demonstrate these theorems and explain the simplifications that depend on them.

For the present paper we have tried INSTEP on the well-known pigeonhole problem. So far as we know INSTEP is the first implemented program to produce proofs of polynomial length for pigeonhole problems. It also produces these proofs in polynomial time.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Bibel, W.Automated Theorem Proving (Second edition), Vieweg Verlag, Braunschweig (1987).

    Google Scholar 

  2. Bibel, W., ‘Short proofs of the pigeonhole formulas based on the connection method’,J. Automated Reasoning 6, 287–298 (1990).

    Google Scholar 

  3. Boole, G.,An Investigation of The Laws of Thought, 1854. Reprint. Dover Publications. No place or date.

  4. Brayton, R. K., Hachtel, G. D., McMullen, C. T., and Sangiovanni-Vincentelli, A.,Logic Minimization Algorithms for VLSI Synthesis. Kluwer Academic Publishers, Boston (1984).

    Google Scholar 

  5. Bryant, R. E., ‘Graph-based algorithms for Boolean function manipulation’,IEEE Trans. on Computers C-35, 667–691 (August, 1986).

    Google Scholar 

  6. Burch, J. R.,et al., ‘Symbolic model checking: 1020 states and beyond’,Proceedings Fifth Annual IEEE Symposium on Logic in Computer Science, pp. 428–439 (1990).

  7. Buss, S. R., ‘Polynomial size proofs of the propositional pigeonhole principle’,J. Symbolic Logic 52, 916–927 (1987).

    Google Scholar 

  8. Claesen, L. (ed.),Formal VLSI Correctness Verification: VLSI Design Methods — II (Proceedings IFIP WG 10.2/WG 10.5 International Workshop on Applied Formal Methods for Correct VLSI Design). North-Holland, Amsterdam (1990).

    Google Scholar 

  9. Cook, S. A., ‘A short proof of the pigeon hole principle using extended resolution’,ACM SIGACT News 8, 28–32 (1976).

    Google Scholar 

  10. Couturat, L.,The Algebra of Logic. Open Court, Chicago (1914).

    Google Scholar 

  11. Davis, M. and Putnam, H., ‘A computing procedure for quantification theory’,J. ACM 7, 201–215 (1960).

    Google Scholar 

  12. Fujita, M., Fujisawa, H., and Kawato, N., ‘Evaluation and improvements of Boolean comparison methods based on binary decision diagrams’,Proc. ICCAD, 2–5 (1988).

  13. Garey, Michael R. and Johnson, David S.,Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, New York (1979).

    Google Scholar 

  14. Hachtel, G. D. and Jacoby, R. M., ‘Verification algorithms for VLSI synthesis’,IEEE Trans. Computer-Aided Design 7, 616–640 (May, 1988).

    Google Scholar 

  15. Haken, A., ‘The intractability of resolution’,Theor. Computer Sci. 39, 297–308 (1985).

    Google Scholar 

  16. Haralick, R. M. and Wu, S.-H., ‘An approximate linear time propagate and divide theorem prover for propositional logic’,Int. J. Pattern Recognition, Artificial Intelligence 1, 141–155 (April, 1987).

    Google Scholar 

  17. Hunter, G.,Metalogic: An Introduction to the Metatheory of Standard First Order Logic. University of California Press, Berkeley (1971).

    Google Scholar 

  18. Madre, J. C., ‘Benchmarks for tautology checking — experimental results’, in [8], pp. 119–124.

    Google Scholar 

  19. Malik, S., Wang, A. R., Brayton, R. K., and Sangiovanni-Vincentelli, A., ‘Logic verification using binary decision diagrams in a logic synthesis environment’,Proc. ICCAD, pp. 6–9 (1988).

  20. Quine, W. V. O.,Methods of Logic. Holt, Rinehart, Winston, New York (1950).

    Google Scholar 

  21. Robinson, J. A.,Logic: Form and Function. North-Holland, New York (1979).

    Google Scholar 

  22. Roth, J. P., ‘VERIFY: An algorithm to verify a computer design’,IBM Tech. Disclosure Bull. 15, 2646–2648 (1973).

    Google Scholar 

  23. Roth, J. P.,Computer Logic, Testing, and Verification. Computer Science Press, Potomac, Md (1980).

    Google Scholar 

  24. Shannon, C. E., ‘A symbolic analysis of relay and switching circuits’,Trans. AIEE 57, 713–719 (1938).

    Google Scholar 

  25. Smith, G. L., Bahnsen, J., and Halliwell, H., ‘Boolean comparison of hardware and flowcharts’,IBM Res. Dev. 26, 106–116 (1982).

    Google Scholar 

  26. Van Gelder, A., ‘A satisfiability tester for non-clausal propositional calculus’,Proceedings 7th International Conference on Automated Deduction (Lecture Notes in Computer Science, Vol. 170). Springer-Verlag, New York (1984).

    Google Scholar 

  27. Vlach, F., ‘A note on the INSTEP tautology checker and the IFIP and ISCAS benchmarks’, in [8], pp. 89–94.

    Google Scholar 

  28. Vlach, F., ‘A tautology checker for VLSI applications that uses rule-based simplification and directed backtracking’, Technical Report N-90-0010, Department of Computer Science, University of North Texas, 1990.

  29. Wegener, Ingo,The Complexity of Boolean Functions. Wiley, New York (1987).

    Google Scholar 

  30. Wei, R.-S. and Sangiovanni-Vincentelli, A., ‘PROTEUS: A logic verification system for combinational circuits’, inProceedings 1986 IEEE International Test Conference, pp. 350–358.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Vlach, F. Simplification in a satisfiability checker for VLSI applications. J Autom Reasoning 10, 115–136 (1993). https://doi.org/10.1007/BF00881867

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00881867

Key words

Navigation