110 likes | 208 Views
Lifting Propositional Interpolants to the Word-Level. Daniel Kroening and Georg Weissenbacher supported by and SRC. © ETH Zürich. Kaput. Concise reason for malfunction. “Word-Level” reason for malfunction. Craig-Interpolant. Explains inconsistency of two formulas
E N D
Lifting Propositional Interpolantsto the Word-Level Daniel Kroening and Georg Weissenbacher supported by and SRC © ETH Zürich
Craig-Interpolant • Explains inconsistency of two formulas • in terms of the symbols shared by both formulas x == y x == y && z != x x > y • Can be extracted from cut-free proofs • Applications in verification: • image approximation in model checking • refinement predicates for predicate abstraction
Proof-constructing decision procedures • Efficient decision procedures available • often based on bit-blasting (eager or lazy) • we use range encoding (Pnueli et al., 2002) • does not provide interpolants • SAT solver provides resolution proof • compute bit-level interpolant in polynomial time
Example: Bit-blasting of equality logic proof space resolution proof
Lifting Leaf Nodes • Introduce word-level facts based on structure of bit-level encoding
Lifting inner nodes • Based on structure of resolution proof • Uses decision procedure for equality logic • McMillan’s technique to compute WL-Interpolant
Conclusion • Extract interpolant from lifted word-level proof • Performance mainly determined by bit-blasting decision procedure • Future work: Extend technique to bit-vector logic