Skip to main content
Log in

Reducing the size of resolution proofs in linear time

  • HVC 2008
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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: 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.

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.: Automatic abstraction without counterexamples. In: Garavel, H., Hatcliff, J. (eds.) TACAS’03. Lecture Notes in Compuer Science, vol. 2619 (2003)

  2. Amla, N., McMillan, K.L.: A hybrid of counterexample-based and proof-based abstraction. In: 5th International Confrence on Formal Methods in Computer-Aided Design, FMCAD 2004, pp. 260–274 (2004)

  3. Bar-Ilan, O., Fuhrmann, O., Hoory, S., Shacham, O., Strichman, O.: Linear-time reductions of resolution proofs. In: Chockler, H., Hu, A. (eds.) Haifa Verification Conference (HVC’08). Lecture Notes in Compuer Science, vol. 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. In: Grumberg, O., Huth, M. (eds.) 13th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’07). 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. In: SAT, pp. 334–339 (2007)

  6. Dershowitz, N., Hanna, Z., Nadel, A.: A scalable algorithm for minimal unsatisfiable core extraction. In: SAT, Lecture Notes in Computer Science, vol. 4121, pp. 36–41. Springer, Berlin (2006)

  7. Fuhrman, O. Hoory, S.: On extending bounded proofs to inductive proofs. In: Proceedings of 21st International Conference on Computer Aided Verification (CAV’09), (2009) (to appear)

  8. Gershman, R., Koifman, M., Strichman, O.: Deriving small unsatisfiable cores with dominators. In: Proceedings of 18th International Conference on Computer Aided Verification (CAV’06). Lecture Notes in Computer Science, vol. 4144, pp. 109–122 (2006)

  9. Gershman, R., Strichman., O.: Haifasat: A new robust SAT solver. In: Ur, S., Bin, E., Wolfsthal, Y. (eds.) First International Haifa Verification Conference. Lecture Notes in Computer Science, vol. 3875, pp. 76–89. Springer, Berlin (2005)

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

    Article  MathSciNet  MATH  Google Scholar 

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

  12. Huang, J.: Mup: A minimal unsatisfiability prover. In: Proceedings of the 10th Asia and South Pacific Design Automation Conference (ASP-DAC), pp. 432–437 (2005)

  13. Kroening, D., Ouaknine, J., Seshia, S., Strichman, O.: Abstraction-based satisfiability solving of Presburger arithmetic. In: Alur, R., Peled, D. (eds.) Proceedings of 16th International Conference on Computer Aided Verification (CAV’04), LNCS, vol. 3114, pp. 308–320. Springer, Boston (2004)

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

    Article  MATH  Google Scholar 

  15. 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)

  16. McMillan, K.: Interpolation and sat-based model checking. In: Warren, J., Hunt, A., Somenzi, F. (eds.) cav03. Lecture Notes in Computer Science (2003)

  17. Mneimneh, M.N., Lynce, I., Andraus, Z.S., Silva, J.P.M., Sakallah, K.A.: A branch-and-bound algorithm for extracting smallest minimal unsatisfiable formulas. In: SAT. Lecture Notes in Computer Science, vol. 3569, pp. 467–474. Springer, Berlin (2005)

  18. Oh, Y., Mneimneh, M.N., Andraus, Z.S., Sakallah, K.A., Markov, I.L.: Amuse: a minimally-unsatisfiable subformula extractor. In: DAC ’04, pp. 518–523 (2004)

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

    Article  MathSciNet  MATH  Google Scholar 

  20. Ryan, L.: Efficient algorithms for clause-learning SAT solvers. Master’s thesis, Simon Fraser University (2004)

  21. Shtrichman, O.: Prunning techniques for the SAT-based bounded model checking problem. In: Proceedings of the 11th Conference on Correct Hardware Design and Verification Methods (CHARME’01), Edinburgh (2001)

  22. Tseitin, G.: On the complexity of proofs in poropositional logics. In: Siekmann, J., Wrightson, G. (eds.), Automation of Reasoning: Classical Papers in Computational Logic 1967–1970, vol. 2. Springer, Berlin (1983) [Originally published (1970)]

  23. Urquhart A.: The complexity of propositional proofs. Bull. Symbol. Logic 1(4), 425–467 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  24. Whittemore, J., Kim, J., Sakallah, K.: Satire: a new incremental satisfiability engine. In: In IEEE/ACM Design Automation Conference (DAC) (2001)

  25. Zhang, L., Madigan, C., Moskewicz, M., Malik, S.: Efficient conflict driven learning in a Boolean satisfiability solver. In: ICCAD (2001)

  26. Zhang, L., Malik, S.: Extracting small unsatisfiable cores from unsatisfiable boolean formulas. In: Sixth International Conference on Theory and Applications of Satisfiability Testing (SAT2003), S. Margherita Ligure (2003)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ofer Strichman.

Additional information

This article extends [3] with proofs and a more elaborated discussion of related work. O. Bar-Ilan, O. Fuhrmann, S. Hoory were in IBM when this research was conducted.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bar-Ilan, O., Fuhrmann, O., Hoory, S. et al. Reducing the size of resolution proofs in linear time. Int J Softw Tools Technol Transfer 13, 263–272 (2011). https://doi.org/10.1007/s10009-010-0167-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-010-0167-5

Keywords

Navigation