Reducing the size of resolution proofs in linear time

被引:7
作者
Bar-Ilan O.
Fuhrmann O. [1 ]
Hoory S. [2 ]
Shacham O. [3 ]
Strichman O. [4 ]
机构
[1] Google, Mountain View, CA
[2] Syntact Design, Zichron Yaakov
[3] IBM Haifa Research Laboratory, Haifa
[4] Information Systems Engineering, IE, Technion, Haifa
关键词
Resolution-proofs; SAT;
D O I
10.1007/s10009-010-0167-5
中图分类号
学科分类号
摘要
DPLL-based SAT solvers progress by implicitly applying binary resolution. The resolution proofs that they generate are used, after the SAT solver's run has terminated, for various purposes. Most notable uses in formal verification are: extracting an unsatisfiable core, extracting an interpolant, and detecting clauses that can be reused in an incremental satisfiability setting (the latter uses the proof only implicitly, during the run of the SAT solver). Making the resolution proof smaller can benefit all of these goals: it can lead to smaller cores, smaller interpolants, and smaller clauses that are propagated to the next SAT instance in an incremental setting. We suggest two methods that are linear in the size of the proof for doing so. Our first technique, called Recycle-Units uses each learned constant (unit clause) (x) for simplifying resolution steps in which x was the pivot, prior to when it was learned. Our second technique, called simplifies proofs in which there are several nodes in the resolution graph, one of which dominates the others, that correspond to the same pivot. Our experiments with industrial instances show that these simplifications reduce the core by ≈5% and the proof by ≈13%. It reduces the core less than competing methods such as run- till- fix, but whereas our algorithms are linear in the size of the proof, the latter and other competing techniques are all exponential as they are based on SAT runs. If we consider the size of the proof (the resolution graph) as being polynomial in the number of variables (it is not necessarily the case in general), this gives our method an exponential time reduction comparing to existing tools for small core extraction. Our experiments show that this result is evident in practice more so for the second method: rarely it takes more than a few seconds, even when competing tools time out, and hence it can be used as a cheap proof post-processing procedure. © 2010 Springer-Verlag.
引用
收藏
页码:263 / 272
页数:9
相关论文
共 26 条
[1]  
Amla N., McMillan K., Automatic abstraction without counterexamples, Lecture Notes in Compuer Science, 2619, (2003)
[2]  
Amla N., McMillan K.L., A hybrid of counterexample-based and proof-based abstraction, pp. 260-274, (2004)
[3]  
Bar-Ilan O., Fuhrmann O., Hoory S., Shacham O., Strichman O., Linear-time reductions of resolution proofs, Lecture Notes in Compuer Science, 5394, pp. 114-128, (2008)
[4]  
Bryant R.E., Kroening D., Ouaknine J., Seshia S.A., Strichman O., Brady B., Deciding bit-vector arithmetic with abstraction, Lecture Notes in Computer Science, pp. 358-372, (2007)
[5]  
Cimatti A., Griggio A., Sebastiani R., A simple and flexible way of computing small unsatisfiable cores in sat modulo theories, SAT, pp. 334-339, (2007)
[6]  
Dershowitz N., Hanna Z., Nadel A., A scalable algorithm for minimal unsatisfiable core extraction, SAT, Lecture Notes in Computer Science, 4121, pp. 36-41, (2006)
[7]  
Fuhrman O., Hoory S., On extending bounded proofs to inductive proofs, International Conference on Computer Aided Verification (CAV'09), (2009)
[8]  
Gershman R., Koifman M., Strichman O., Deriving small unsatisfiable cores with dominators, Lecture Notes in Computer Science, 4144, pp. 109-122, (2006)
[9]  
Gershman R., Strichman O., Haifasat: A new robust SAT solver, Lecture Notes in Computer Science, 3875, pp. 76-89, (2005)
[10]  
Gregoire E., Mazure B., Piette C., Local-search extraction of muses, Constraints, 12, 3, pp. 325-344, (2007)