Linear-Time Reductions of Resolution Proofs

  • Authors:
  • Omer Bar-Ilan;Oded Fuhrmann;Shlomo Hoory;Ohad Shacham;Ofer Strichman

  • Affiliations:
  • IBM Haifa Research Laboratory,;IBM Haifa Research Laboratory,;IBM Haifa Research Laboratory,;IBM Haifa Research Laboratory,;Information Systems Engineering, IE, Technion, Haifa, Israel

  • Venue:
  • HVC '08 Proceedings of the 4th International Haifa Verification Conference on Hardware and Software: Verification and Testing
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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. 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 Recycle-Pivots , 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 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.