Formal Methods in System Design

, Volume 45, Issue 1, pp 1–41 | Cite as

Resolution proof transformation for compression and interpolation

  • Simone Fulvio Rollini
  • Roberto Bruttomesso
  • Natasha Sharygina
  • Aliaksei Tsitovich


Verification methods based on SAT, SMT, and theorem proving often rely on proofs of unsatisfiability as a powerful tool to extract information in order to reduce the overall effort. For example a proof may be traversed to identify a minimal reason that led to unsatisfiability, for computing abstractions, or for deriving Craig interpolants. In this paper we focus on two important aspects that concern efficient handling of proofs of unsatisfiability: compression and manipulation. First of all, since the proof size can be very large in general (exponential in the size of the input problem), it is indeed beneficial to adopt techniques to compress it for further processing. Secondly, proofs can be manipulated as a flexible preprocessing step in preparation for interpolant computation. Both these techniques are implemented in a framework that makes use of local rewriting rules to transform the proofs. We show that a careful use of the rules, combined with existing algorithms, can result in an effective simplification of the original proofs. We have evaluated several heuristics on a wide range of unsatisfiable problems deriving from SAT and SMT test cases.


Resolution system Craig interpolation Proof compression  Formal verification 


  1. 1.
    Ackermann W (1954) Solvable cases of the decision problem. Studies in logic and the foundations of mathematics. North-Holland, AmsterdamGoogle Scholar
  2. 2.
    Amjad H (2007) Compressing propositional refutations. Electron Notes Theor Comput Sci 185:3–15CrossRefGoogle Scholar
  3. 3.
    Amjad H (2008) Data compression for proof replay. J Autom Reason 41(3–4):193–218CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    Amla N, McMillan K (2003) Automatic abstraction without counterexamples. In: TACAS, pp 2–17Google Scholar
  5. 5.
    Bar-Ilan O, Fuhrmann O, Hoory S, Shacham O, Strichman O (2008) Linear-time reductions of resolution proofs. In: HVC, pp 114–128Google Scholar
  6. 6.
    Barrett C, Nieuwenhuis R, Oliveras A, Tinelli C (2006) Splitting on demand in SAT modulo theories. In: LPAR, pp 512–526Google Scholar
  7. 7.
    Barrett C, Sebastiani R, Seshia S, Tinelli C (2009) Satisfiability modulo theories. In: Biere A, Heule M, van Maaren H, Walsh T (eds) Handbook of satisfiability. IOS Press, Amsterdam, pp 825–885Google Scholar
  8. 8.
    Bayardo RJ, Schrag R (1997) Using CSP look-back techniques to solve real-world SAT instances. In: AAAI/IAAI, pp 203–208Google Scholar
  9. 9.
    Biere A, Cimatti A, Clarke E, Strichman O, Zhu Y (2003) Bounded model checking. Adv Comput 58:117–148CrossRefGoogle Scholar
  10. 10.
    Bofill M, Nieuwenhuis R, Oliveras A, Rodrguez-Carbonell E, Rubio A (2008) A write-based solver for SAT modulo the theory of arrays. In: FMCAD, pp 101–108Google Scholar
  11. 11.
    Boudou J, Paleo B (2013) Compression of propositional resolution proofs by lowering subproofs. In: TABLEAUX, pp 237–251Google Scholar
  12. 12.
    Bozzano M, Bruttomesso R, Cimatti A, Junttila T, Ranise S, van Rossum P, Sebastiani R (2005) Efficient satisfiability modulo theories via delayed theory combination. In: CAV, pp 335–349Google Scholar
  13. 13.
    Bradley AR (2011) SAT-based model checking without unrolling. In: VMCAI, pp 70–87Google Scholar
  14. 14.
    Brummayer R, Biere A (2008) Lemmas on demand for the extensional theory of arrays. In: Workshop on SMTGoogle Scholar
  15. 15.
    Bruni R (2003) Approximating minimal unsatisfiable subformulae by means of adaptive core search. Discret Appl Math 130(2):85–100CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Bruttomesso R, Pek E, Sharygina N, Tsitovich A (2010) The OpenSMT Solver. In: TACAS, pp 150–153Google Scholar
  17. 17.
    Bruttomesso R, Rollini S, Sharygina N, Tsitovich A (2010) Flexible interpolation with local proof transformations. In: ICCAD, pp 770–777Google Scholar
  18. 18.
    Christ J, Hoenicke J, Nutz A (2013) Proof tree preserving interpolation. In: TACAS, pp 124–138Google Scholar
  19. 19.
    Cimatti A, Griggio A, Sebastiani R (2007) A simple and flexible way of computing small unsatisfiable cores in SAT modulo theories. In: SAT, pp 334–339Google Scholar
  20. 20.
    Cimatti A, Griggio A, Sebastiani R (2008) Efficient interpolant generation in satisfiability modulo theories. In: TACAS, pp 397–412Google Scholar
  21. 21.
    Cotton S (2010) Two techniques for minimizing resolution proofs. In: SAT, pp 306–312Google Scholar
  22. 22.
    CMU Benchmarks. Accessed 24 April 2014
  23. 23.
    Craig W (1957) Three uses of the herbrand–gentzen theorem in relating model theory and proof theory. J Symb Log 22(3):269–285CrossRefzbMATHMathSciNetGoogle Scholar
  24. 24.
    de Moura L, Bjørner N (2009) Generalized, efficient array decision procedures. In: FMCAD, pp 45–52Google Scholar
  25. 25.
    de Moura L, Rue H (2002) Lemmas on demand for satisfiability solvers. In: SAT, pp 244–251Google Scholar
  26. 26.
    Dershowitz N, Hanna Z, Nadel A (2006) A scalable algorithm for minimal unsatisfiable core extraction. In: SAT, pp 36–41Google Scholar
  27. 27.
    D’Silva V, Kroening D, Purandare M, Weissenbacher G (2008) Restructuring resolution refutations for interpolation. Technical report, ETHGoogle Scholar
  28. 28.
    D’Silva V, Kroening D, Purandare M, Weissenbacher G (2010) Interpolant strength. In: VMCAI, pp 129–145Google Scholar
  29. 29.
    Fontaine P, Marion J, Merz S, Nieto L, Tiu A (2006) Expressiveness + automation + soundness: towards combining SMT solvers and interactive proof assistants. In: TACAS, pp 167–181Google Scholar
  30. 30.
    Fontaine P, Merz S, Paleo B (2011) Compression of propositional resolution proofs via partial regularization. In: CADE, pp 237–251Google Scholar
  31. 31.
    Gentzen G (1935) Untersuchungen über das logische schließen. i. Math Z 39(1):176–210CrossRefMathSciNetGoogle Scholar
  32. 32.
    Goel A, Krstić S, Fuchs A (2008) Deciding array formulas with frugal axiom Instantiation. In: SMT, pp 12–17Google Scholar
  33. 33.
    Goel A, Krstić S, Tinelli C (2009) Ground interpolation for combined theories. In: CADE, pp 183–198Google Scholar
  34. 34.
    Goldberg E, Novikov Y (2003) Verification of proofs of unsatisfiability for CNF formulas. In: DATE, pp 10,886–10,891Google Scholar
  35. 35.
    Gomes C, Kautz H, Sabharwal A, Selman B (2008) Satisfiability solvers. In: van Harmelen F, Lifschitz V, Porter B (eds) Handbook of knowledge representation. Elsevier, Amsterdam, pp 89–134Google Scholar
  36. 36.
    Grégoire E, Mazure B, Piette C (2007) Local-search extraction of muses. Constraints 12(3):325–344CrossRefzbMATHMathSciNetGoogle Scholar
  37. 37.
    Grumberg O, Lerda F, Ofer OS, Theobald M (2005) Proof-guided underapproximation-widening for multi-process systems. In: POPL, pp 122–131Google Scholar
  38. 38.
    Gupta A (2012) Improved single pass algorithms for resolution proof reduction. In: ATVA, pp 107–121Google Scholar
  39. 39.
    Henzinger T, Jhala R, Majumdar R, McMillan K (2004) Abstractions from proofs. In: POPL, pp 232–244Google Scholar
  40. 40.
    Heule M, Hunt W, Wetzler N (2013) Trimming while checking clausal proofs. In: FMCADGoogle Scholar
  41. 41.
    Huang J (2005) Mup: a minimal unsatisfiability prover. In: ASP-DAC, pp 432–437Google Scholar
  42. 42.
    Jhala R, McMillan K (2005) Interpolant-based transition relation approximation. In: CAV, pp 39–51Google Scholar
  43. 43.
    Krajíček J (1997) Interpolation theorems, lower bounds for proof systems, and independence results for bounded arithmetic. J Symb Log 62(2):457–486CrossRefzbMATHGoogle Scholar
  44. 44.
    Lynce I, Marques-Silva J (2004) On computing minimum unsatisfiable cores. In: SAT, pp 305–310Google Scholar
  45. 45.
    Marques-Silva J, Sakallah K (1996) GRASP—a new search algorithm for satisfiability. In: ICCAD, pp 220–227Google Scholar
  46. 46.
    McMillan K (2003) Interpolation and SAT-based model checking. In: CAV, pp 1–13Google Scholar
  47. 47.
    McMillan K (2004) An interpolating theorem prover. In: TACAS, pp 16–30Google Scholar
  48. 48.
    McMillan K (2004) Applications of Craig interpolation to model checking. In: CSL, pp 22–23Google Scholar
  49. 49.
    Mneimneh M, Lynce I, Andraus Z, Marques-Silva J, Sakallah K (2005) A branch-and-bound algorithm for extracting smallest minimal unsatisfiable formulas. In: SAT, pp 467–474Google Scholar
  50. 50.
    Necula G (1997) Proof-carrying code. In: POPL, pp 106–119Google Scholar
  51. 51.
    Nelson G, Oppen D (1979) Simplification by cooperating decision procedures. ACM Trans Progr Lang Syst 1(2):245–257CrossRefzbMATHGoogle Scholar
  52. 52.
    Oh Y, Mneimneh MN, Andraus ZS, Sakallah KA, Markov IL (2004) AMUSE: a minimally-unsatisfiable subformula extractor. In: DAC, pp 518–523Google Scholar
  53. 53.
    Pudlák P (1997) Lower bounds for resolution and cutting plane proofs and monotone computations. J Symb Log 62(3):981–998CrossRefzbMATHGoogle Scholar
  54. 54.
    Ranise S, Tinelli C The satisfiability modulo theories library (SMT-LIB). Accessed 24 April 2014
  55. 55.
    Rollini S Proof transformer and interpolator for propositional logic (PeRIPLO). Accessed 24 April 2014
  56. 56.
    Rollini S, Bruttomesso R, Sharygina N (2010) An efficient and flexible approach to resolution proof reduction. In: HVC, pp 182–196Google Scholar
  57. 57.
    SAT Challenge (2012) Accessed 24 April 2014
  58. 58.
    SATLIB Benchmark Suite . Accessed 24 April 2014
  59. 59.
    Sebastiani R (2007) Lazy satisfiability modulo theories. JSAT 3:144–224Google Scholar
  60. 60.
    Shlyakhter I, Seater R, Jackson D, Sridharan M, Taghdir M (2003) Debugging overconstrained declarative models using unsatisfiable cores. In: ASE, pp 94–105Google Scholar
  61. 61.
    Sinz C (2007) Compressing propositional proofs by common subproof extraction. In: EUROCAST, pp 547–555Google Scholar
  62. 62.
    Sinz C, Kaiser A, Kuchlin W (2003) Formal methods for the validation of automotive product configuration data. AI EDAM 17(1):75–97Google Scholar
  63. 63.
    Skeptik Proof Theory Library Accessed 24 April 2014
  64. 64.
    Tseitin GS (1968) On the complexity of derivation in the propositional calculus. In: Slisenko AO (ed) Studies in constructive mathematics and mathematical logic. Plenum, New York, pp 115–125Google Scholar
  65. 65.
    Van Gelder A (2008) Verifying RUP proofs of propositional unsatisfiability. In: ISAIMGoogle Scholar
  66. 66.
    Weber T, Amjad H (2009) Efficiently checking propositional refutations in hol theorem provers. J Appl Log 7(1):26–40CrossRefzbMATHMathSciNetGoogle Scholar
  67. 67.
    Yorsh G, Musuvathi M (2005) A combination method for generating interpolants. In: CADE, pp 353–368Google Scholar
  68. 68.
    Zhang L, Malik S (2003) Extracting small unsatisfiable cores from unsatisfiable Boolean formulas. In: SATGoogle Scholar
  69. 69.
    Zhang L, Sharad M (2003) Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications. In: DATE, pp 10,880–10,885Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Simone Fulvio Rollini
    • 1
  • Roberto Bruttomesso
    • 2
  • Natasha Sharygina
    • 1
  • Aliaksei Tsitovich
    • 3
  1. 1.University of LuganoLuganoSwitzerland
  2. 2.Atrenta Advanced R&D of GrenobleGrenobleFrance
  3. 3.PhonakStäfaSwitzerland

Personalised recommendations