Publication | Closed Access
DRUPing for interpolates
11
Citations
10
References
2014
Year
Unknown Venue
Numerical AnalysisEngineeringVerificationAutomated ProofComputational ComplexityComputer-aided DesignModel CheckingData ScienceProof ComplexityNumerical SimulationCurve FittingModeling And SimulationSatisfiabilityApproximation TheoryDrup ProofGeometric ModelingGeometric InterpolationInterpolation SpaceComputer EngineeringComputer ScienceAutomated ReasoningProgram AnalysisDrup ProofsProof System
We present a method for interpolation based on DRUP proofs. Interpolants are widely used in model checking, synthesis and other applications. Most interpolation algorithms rely on a resolution proof produced by a SAT-solver for unsatisfaible formulas. The proof is traversed and translated into an interpolant by replacing resolution steps with AND and OR gates. This process is efficient (once there is a proof) and generates interpolants that are linear in the size of the proof. In this paper, we address three known weakness of this approach: (i) performance degradation experienced by the SAT-solver and the extra memory requirements needed when logging a resolution proof; (ii) the proof generated by the solver is not necessarily the "best" proof for interpolantion, and (iii) combining proof logging with pre-processing is complicated. We show that these issues can be remedied by using DRUP proofs. First, we show how to produce an interpolant from a DRUP proof, even when pre-processing is enabled. Second, we give a novel interpolation algorithm that produces interpolants partially in CNF. Third, we show how DRUP proof can be restructured on-the-fly to yield better interpolants. We implemented our DRUP-based interpolation framework in MiniSAT, and evaluated its affect using Avy - a SAT-based model checking algorithm.
| Year | Citations | |
|---|---|---|
Page 1
Page 1