Deriving Small Unsatisfiable Cores with Dominators

  • Roman Gershman
  • Maya Koifman
  • Ofer Strichman
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4144)


The problem of finding a small unsatisfiable core of an unsatisfiable CNF formula is addressed. The proposed algorithm, Trimmer, iterates over each internal node d in the resolution graph that ‘consumes’ a large number of clauses M (i.e. a large number of original clauses are present in the unsat core only for proving d) and attempts to prove them without the M clauses. If this is possible, it transforms the resolution graph into a new graph that does not have the M clauses at its core. Trimmer can be integrated into a fixpoint framework similarly to Malik and Zhang’s fix-point algorithm (run_till_fix). We call this option trim_till_fix. Experimental evaluation on a large number of industrial CNF unsatisfiable formulas shows that trim_till_fix doubles, on average, the number of reduced clauses in comparison to run_till_fix. It is also better when used as a component in a bigger system that enforces short timeouts.


Sink Node Small Core Unit Clause Resolution Step Empty Clause 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amla, N., McMillan, K.: Automatic abstraction without counter examples. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 2–17. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Bruni, R.: Approximating minimal unsatisfiable subformulae by means of adaptive core search. Discrete Appl. Math. 130(2), 85–100 (2003)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Georgiadis, L., Werneck, R.F., Tarjan, R.E., Triantafyllis, S., August, D.I.: Finding dominators in practice. In: Albers, S., Radzik, T. (eds.) ESA 2004. LNCS, vol. 3221, pp. 677–688. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Grumberg, O., Lerda, F., Strichman, O., Theobald, M.: Proof-guided underapproximation-widening for multi-process systems. In: POPL 2005: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 122–131. ACM Press, New York (2005)CrossRefGoogle Scholar
  5. 5.
    Gupta, A.: Learning Abstractions for Model Checking. PhD thesis, Carnegie Mellon University (to be published, 2006)Google Scholar
  6. 6.
    Huang, J.: Mup: A minimal unsatisfiability prover. In: Proc. of the 10th Asia and South Pacific Design Automation Conference (ASP-DAC), pp. 432–437 (2005)Google Scholar
  7. 7.
    Koifman, M.: An approach to extracting a small unsatisfiable core. thesis, Technion - I.I.T., Israel, Haifa (to be published, 2006)Google Scholar
  8. 8.
    Kroening, D., Ouaknine, J., Seshia, S., Strichman, O.: Abstraction-based satisfiability solving of Presburger arithmetic. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 308–320. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Lengauer, T., Tarjan, R.E.: A fast algorithm for finding dominators in a flowgraph. ACM Trans. Program. Lang. Syst. 1(1), 121–141 (1979)MATHCrossRefGoogle Scholar
  10. 10.
    Lynce, I., Marques-Silva, J.: On computing minimum unsatisfiable cores. In: Proceedings of the International Symposium on Theory and Applications of Satisfiability Testing, pp. 305–310 (2004)Google Scholar
  11. 11.
    Oh, Y., Mneimneh, M.N., Andraus, Z.S., Sakallah, K.A., Markov, I.L.: Amuse: a minimally-unsatisfiable subformula extractor. In: DAC 2004, pp. 518–523 (2004)Google Scholar
  12. 12.
    Papadimitriou, C.H., Wolfe, D.: The complexity of facets resolved. J. Comput. Syst. Sci. 37(1), 2–13 (1988)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Prosser, R.: Applications of boolean matrices to the analysis of flow diagrams. In: Proceedings of the Eastern Joint Computer Conference, pp. 133–138 (1959)Google Scholar
  14. 14.
    Shtrichman, O.: Prunning techniques for the SAT-based bounded model checking problem. In: Margaria, T., Melham, T.F. (eds.) CHARME 2001. LNCS, vol. 2144, p. 58. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Stump, A., Barrett, C., Dill, D.: CVC: a cooperating validity checker. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 500. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  16. 16.
    Zhang, L., Malik, S.: Extracting small unsatisfiable cores from unsatisfiable boolean formula. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Roman Gershman
    • 1
  • Maya Koifman
    • 1
  • Ofer Strichman
    • 1
  1. 1.TechnionHaifaIsrael

Personalised recommendations