TY - GEN
T1 - DRUPing for interpolates
AU - Gurfinkel, Arie
AU - Vizel, Yakir
N1 - Publisher Copyright: © 2014 FMCAD and the authors.
PY - 2014/12/16
Y1 - 2014/12/16
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=84921417308&partnerID=8YFLogxK
U2 - 10.1109/FMCAD.2014.6987601
DO - 10.1109/FMCAD.2014.6987601
M3 - منشور من مؤتمر
T3 - 2014 Formal Methods in Computer-Aided Design, FMCAD 2014
SP - 99
EP - 106
BT - 2014 Formal Methods in Computer-Aided Design, FMCAD 2014
A2 - Claessen, Koen
A2 - Kuncak, Viktor
T2 - 14th International Conference on Formal Methods in Computer-Aided Design, FMCAD 2014
Y2 - 21 October 2014 through 24 October 2014
ER -