Lifting Propositional Interpolants to the Word-Level Daniel Kroening and Georg Weissenbacher supported by and SRC © ETH Zürich
Kaput
Concise reason for malfunction looking at the actual circuit
“Word-Level” reason for malfunction
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 propositional resolution proofs
Lifting Leaf Nodes Introduce word-level facts based on structure of bit-level encoding Replace vector-variables by word-level expressions
Lifting inner nodes Based on structure of resolution proof Uses decision procedure for equality logic proof rules used must allow for interpolation (cut-free) McMillan’s interpolating theorem prover complete for equality logic combined with propositional 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