110 likes | 212 Views
This paper by Daniel Kroening and Georg Weissenbacher presents a method for lifting propositional resolution proofs to the word-level, explaining inconsistencies and sharing symbols between formulas. The approach introduces word-level facts based on structure of bit-level encoding, utilizing decision procedures for equality logic and McMillan’s technique for computing WL-Interpolants.
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