A Boolean Equivalence Testing Algorithm based on a Derivational Method

  • Moon, Gyo-Sik (Department of Computer Education, Taegu National University of Education)
  • Published : 1997.10.01

Abstract

The main purpose of the Boolean equivalence problem is to verify that two Boolean expressions have the same functionality. Simulation has been extensively used as the standard method for the equivalence problem. Obviously, the number of tests required to perform a satisfactory coverage grows exponentially with the number of input variables. However, formal methods as opposed to simulation are getting more attention from the community. We propose a new algorithm called the Cover-Merge Algorithm based on a derivational method using the concept of cover and merge for the equivalence problem and investigate its theoretical aspects. Because of the difficulty of the problem, we emphasize simplification techniques in order to reduce the search space or problem size. Heuristics based on types of merges are developed to speed up the derivation process by allowing simplifications. In comparison with widely used technique called Binary Decision Diagram or BDD, the algorithm proposed outperforms BDD in nearly all cases of input including standard benchmark problems.

Keywords

References

  1. The International Conference on Computer Design Boolean satisifiability and equivalence checking general binary decisioh disgrams P.Asher;S.Devadas;A.Ghosh
  2. IMEC-IFIP International Workshop on Applied Formal Methods for Correct VLSI Design v.2 Using TACHE for proving circuits C.ayol.;J.Pailet.
  3. ACM Computing Surveys v.24 no.3 Symbolic boolean manipulation with ordered binary-decision disgrams R.E.Bryant
  4. IEEE Trans. on computers v.C-35 no.8 Graph-based algorithms for boolean function mainpulation R.e.Bryant.
  5. Journal of Symbolic Computation v.4 Embedding Boolean expressions into logic programming W.Buttner.;H.Simonis.
  6. Proceedings in the International Conference on fifth Generation Computer Systems FGCS-88 The constraint logic programming language CHIP M.Dincbas;P.V.Hententyck;H.Himonis.A.Aggoun;T.Graf;F.Berthier
  7. IEEE Trans. on Computer-Aided Design of Integrated Circuits and systems v.12 no.1 Variable ordering algorithms for ordered binary decision diagrams and their evaluation M.Fujita;H.Fujisawa;Y.Masunaga
  8. Computers and Intractability: A Guide to the Theory of NP-completeness M.R.Garey.;D.S.Johnson.
  9. SIAM J. Comput v.18 CNf satisfiability test by counting and polynomial average time K.Iwama.
  10. IMEC-IFIP Inyernational Workshop on applied Formal Methods for Correct VLSI Design v.2 Tautology checking benchmarks: results with TC P.Lammens;L.Claesen;H.D.Man
  11. Bell System Tech. J. v.35 no.6 Minimization of Boolean functions E.J.Jr.McCluskey
  12. Internal Workshop on Discrete Algotithms and Complexity Random satisifiability problems P.Purdom
  13. Am. Math. Monthly v.59 no.8 The Problem of simplifying truth functions W.V.Quine.
  14. Computer Logic, Testing and Verification J.P.Roth
  15. Trans. AIEE v.57 A symbolic analysis of elay and swiching circuits C.E.Shannon
  16. IMEC-IFIP Inyernational Workshop on Applied Formal Methods for Correct VLSI Design v.2 Circuit verification in CHIP:Benchmark results H.Simonis.;T.L.Provost.
  17. Information Processing Letters v.37 A dual algorithm for the satisfiability problem Y.Tanaka
  18. Journal of Automated Reasoning v.10 no.1 Simplification in a satisfiability checker for VLSI applications F.Vlach
  19. J. ACM v.35 no.2 On the complexity of branching programs and decision trees for functions I.Wegener.