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.
Similar content being viewed by others
References
Amla N, McMillan K (2003) Automatic abstraction without counterexamples. In: Garavel H, Hatcliff J (eds) TACAS’03. Lecture notes in computer science, vol 2619
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)
Bruni R (2003) Approximating minimal unsatisfiable subformula by means of adaptive core search. Discrete Appl Math 130(2):85–100
Davis M, Logemann G, Loveland D (1962) A machine program for theorem-proving. Commun ACM 5:394–397
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
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
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
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
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
Grégoire É, Mazure B, Piette C (2007) Local-search extraction of muses. Constraints 12(3):325–344
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
Gupta A (2006) Learning abstractions for model checking. PhD thesis, Carnegie Mellon University
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
Koifman M (2007) An approach to extracting a small unsatisfiable core. Master’s thesis, Technion
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
Lengauer T, Tarjan RE (1979) A fast algorithm for finding dominators in a flowgraph. ACM Trans Program Lang Syst 1(1):121–141
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
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
Oh Y, Mneimneh MN, Andraus ZS, Sakallah KA, Markov IL (2004) Amuse: a minimally-unsatisfiable subformula extractor. In: DAC’04, pp 518–523
Papadimitriou CH, Wolfe D (1988) The complexity of facets resolved. J Comput Syst Sci 37(1):2–13
Prosser R (1959) Applications of boolean matrices to the analysis of flow diagrams. In: Proceedings of the Eastern joint computer conference, pp 133–138
Purdom PW Jr, Moore EF (1972) Immediate predominators in a directed graph [h]. Commun ACM 15(8):777–778
Robinson JA (1965) A machine-oriented logic based on the resolution principle. J Assoc Comput Mach 12(1):23–41
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
Stump A, Barrett C, Dill D (2002) CVC: a cooperating validity checker. In: Proc 14th intl conference on computer aided verification (CAV’02)
Ullman JD, Aho AV (1972) The theory of parsing, translation, and compiling. Compiling, vol II. Prentice-Hall, Englewood Cliffs
Whittemore J, Kim J, Sakallah K (2001) Satire: a new incremental satisfiability engine. In: IEEE/ACM design automation conference (DAC)
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)
Zhang L, Malik S (2003) Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications. In: DATE, pp 10880–10885
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-008-0051-z