Skip to main content
Log in

An approach for extracting a small unsatisfiable core

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

The article addresses the problem of finding a small unsatisfiable core of an unsatisfiable CNF formula. The proposed algorithm, CoreTrimmer, 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 with the sole purpose of 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. CoreTrimmer 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.

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. Amla N, McMillan K (2003) Automatic abstraction without counterexamples. In: Garavel H, Hatcliff J (eds) TACAS’03. Lecture notes in computer science, vol 2619

  2. Audemard G, Bertoli P, Cimatti A, Kornilowicz A, Sebastiani R (2002) A SAT based approach for solving formulas over boolean and linear mathematical propositions. In: Proc 18th international conference on automated deduction (CADE’02)

  3. Bruni R (2003) Approximating minimal unsatisfiable subformula by means of adaptive core search. Discrete Appl Math 130(2):85–100

    Article  MATH  MathSciNet  Google Scholar 

  4. Davis M, Logemann G, Loveland D (1962) A machine program for theorem-proving. Commun ACM 5:394–397

    Article  MATH  MathSciNet  Google Scholar 

  5. Davydov G, Davydova I, Büning HK (1998) An efficient algorithm for the minimal unsatisfiability problem for a subclass of cnf. Ann Math Artif Intell 23(3–4):229–245

    Article  MATH  Google Scholar 

  6. Dershowitz N, Hanna Z, Nadel A (2006) A scalable algorithm for minimal unsatisfiable core extraction. In: SAT. Lecture notes in computer science, vol 4121. Springer, New York, pp 36–41

    Google Scholar 

  7. Georgiadis L, Werneck RF, Tarjan RE, Triantafyllis S, August DI (2004) Finding dominators in practice. In: 12th annual European symposium on algorithms (ESA 2004). Lecture notes in computer science, vol 3221, pp 677–688

  8. Gershman R, Koifman M, Strichman O (2006) Deriving small unsatisfiable cores with dominators. In: Proc 18th intl conference on computer aided verification (CAV’06). Lecture notes in computer science, vol 4144, pp 109–122

  9. Goldberg E, Novikov Y (2003) Verification of proofs of unsatisfiability for cnf formulas. In: DATE’03: Proceedings of the conference on design, automation and test in Europe. IEEE Computer Society, Los Alamitos, p 10886

    Google Scholar 

  10. Grégoire É, Mazure B, Piette C (2007) Local-search extraction of muses. Constraints 12(3):325–344

    Article  MATH  MathSciNet  Google Scholar 

  11. Grumberg O, Lerda F, Strichman O, Theobald M (2005) Proof-guided underapproximation-widening for multi-process systems. In: POPL’05: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on principles of programming languages. ACM Press, New York, pp 122–131

    Google Scholar 

  12. Gupta A (2006) Learning abstractions for model checking. PhD thesis, Carnegie Mellon University

  13. Huang J (2005) Mup: a minimal unsatisfiability prover. In: Proc of the 10th Asia and South Pacific design automation conference (ASP-DAC), pp 432–437

  14. Koifman M (2007) An approach to extracting a small unsatisfiable core. Master’s thesis, Technion

  15. Kroening D, Ouaknine J, Seshia S, Strichman O (2004) Abstraction-based satisfiability solving of Presburger arithmetic. In: Alur R, Peled D (eds) Proc 16th intl conference on computer aided verification (CAV’04). Lecture notes in computer science, vol 3114. Springer, Boston, pp 308–320

    Google Scholar 

  16. Lengauer T, Tarjan RE (1979) A fast algorithm for finding dominators in a flowgraph. ACM Trans Program Lang Syst 1(1):121–141

    Article  MATH  Google Scholar 

  17. Lynce I, Marques-Silva J (2004) On computing minimum unsatisfiable cores. In: Proceedings of the international symposium on theory and applications of satisfiability testing, pp 305–310

  18. Mneimneh MN, Lynce I, Andraus ZS, Marques-Silva JP, Sakallah KA (2005) A branch-and-bound algorithm for extracting smallest minimal unsatisfiable formulas. In: SAT. Lecture notes in computer science, vol 3569. Springer, New York, pp 467–474

    Google Scholar 

  19. Oh Y, Mneimneh MN, Andraus ZS, Sakallah KA, Markov IL (2004) Amuse: a minimally-unsatisfiable subformula extractor. In: DAC’04, pp 518–523

  20. Papadimitriou CH, Wolfe D (1988) The complexity of facets resolved. J Comput Syst Sci 37(1):2–13

    Article  MATH  MathSciNet  Google Scholar 

  21. Prosser R (1959) Applications of boolean matrices to the analysis of flow diagrams. In: Proceedings of the Eastern joint computer conference, pp 133–138

  22. Purdom PW Jr, Moore EF (1972) Immediate predominators in a directed graph [h]. Commun ACM 15(8):777–778

    Article  Google Scholar 

  23. Robinson JA (1965) A machine-oriented logic based on the resolution principle. J Assoc Comput Mach 12(1):23–41

    MATH  MathSciNet  Google Scholar 

  24. Strichman O (2001) Pruning techniques for the SAT-based bounded model checking problem. In: Proc of the 11th conference on correct hardware design and verification methods (CHARME’01), Edinburgh, September 2001

  25. Stump A, Barrett C, Dill D (2002) CVC: a cooperating validity checker. In: Proc 14th intl conference on computer aided verification (CAV’02)

  26. Ullman JD, Aho AV (1972) The theory of parsing, translation, and compiling. Compiling, vol II. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  27. Whittemore J, Kim J, Sakallah K (2001) Satire: a new incremental satisfiability engine. In: IEEE/ACM design automation conference (DAC)

  28. Zhang L, Malik S (2003) Extracting small unsatisfiable cores from unsatisfiable boolean formulas. In: Sixth international conference on theory and applications of satisfiability testing (SAT2003)

  29. Zhang L, Malik S (2003) Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications. In: DATE, pp 10880–10885

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ofer Strichman.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gershman, R., Koifman, M. & Strichman, O. An approach for extracting a small unsatisfiable core. Form Methods Syst Des 33, 1–27 (2008). https://doi.org/10.1007/s10703-008-0051-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-008-0051-z

Keywords

Navigation