PeRIPLO System Description


PeRIPLO is an open-source SAT-solver written in C++, built on MiniSAT 2.2.0., currently released under the GNU General Public Licence.

The tool was born from OpenSMT to provide resolution proof manipulation and interpolant generation routines specifically for SAT-based model checking in FunFrog and eVolCheck.

PeRIPLO accepts as input a SAT benchmark in SMT-LIB2 format. The tool can be used both as a standalone program and as a library; its routines are respectively accessible via configuration file and via API.

Proof Logging and Transformation

If the input benchmark is unsatisfiable, PeRIPLO is able to output a resolution proof of unsatisfiability, in SMT-LIB2 or in DOT format.

The tool allows to manipulate and compress resolution proofs, by means of the following techniques:

  • the Local Transformation Framework of [1] and [2]
  • the Recycle Pivots (with Intersection) method of [3] and [4]
  • a variant of the Lower Units method of [4]
  • a variant of the Structural Hashing method of [5]

An overview of the techniques implemented in PeRIPLO can be found in [9].

Interpolant Generation

PeRIPLO implements the Labeled Interpolation System of [6] to produce interpolants.

The tool allows to generate both single interpolants and sequences of interpolants, addressing the following properties as used in SAT-based model checking:

  • Path Interpolation
  • Simultaneous Abstraction
  • Generalized Simultaneous Abstraction
  • State-Transition Interpolation
  • Tree Interpolation

These properties and their relationship with the Labeled Interpolation System are discussed in [7] and [8].

Future Work

New features and capabilities will be added whenever needed. Comments, suggestions and requests are very welcome at rollinis at .



  1. R. Bruttomesso, S.F. Rollini, N. Sharygina, and A. Tsitovich. Flexible Interpolation with Local Proof Transformations. In ICCAD, 2010.
  2. S.F. Rollini, R. Bruttomesso and N. Sharygina. An Efficient and Flexible Approach to Resolution Proof Reduction. In HVC, 2010.
  3. O. Bar-Ilan, O. Fuhrmann, S. Hoory, O. Shacham and O. Strichman. Linear-Time Reductions of Resolution Proofs. In HVC, 2008.
  4. P. Fontaine, S. Merz and B. W.Paleo. Compression of Propositional Resolution Proofs via Partial Regularization. In CADE, 2011.
  5. S. Cotton. Two Techniques for Minimizing Resolution Proofs. In SAT, 2010.
  6. V. D'Silva, D. Kroening, M. Purandare and G. Weissenbacher. Interpolant Strength. In VMCAI, 2010.
  7. S.F. Rollini, O. Sery and N. Sharygina. Leveraging Interpolant Strength in Model Checking. In CAV, 2012.
  8. A. Gurfinkel, S.F. Rollini and N. Sharygina. Interpolation Properties and SAT-based Model Checking. In ATVA, 2013
  9. S.F. Rollini, R. Bruttomesso, N. Sharygina and A.Tsitovich. Resolution Proof Transformation for Compression and Interpolation.