On Solving Quantified Bit-Vectors using Invertibility Conditions

On Solving Quantified Bit-Vectors using Invertibility Conditions” by Aina Niemetz, Mathias Preiner, Andrew Reynolds, Clark Barrett, and Cesare Tinelli. Formal Methods in System Design, vol. 57, no. 1, Jan. 2021, pp. 87-115, Springer US.

Abstract

We present a novel approach for solving quantified bit-vector constraints in Satisfiability Modulo Theories (SMT) based on computing symbolic inverses of bit-vector operators. We derive conditions that precisely characterize when bit-vector constraints are invertible for a representative set of bit-vector operators commonly supported by SMT solvers. We utilize syntax-guided synthesis techniques to aid in establishing these conditions and verify them independently by using several SMT solvers. We show that invertibility conditions can be embedded into quantifier instantiations using Hilbert choice expressions and give experimental evidence that a counterexample-guided approach for quantifier instantiation utilizing these techniques leads to performance improvements with respect to state-of-the-art solvers for quantified bit-vector constraints.

Keywords: Satisfiability modulo theories; Quantified bit-vectors; Invertibility conditions

BibTeX entry:

@article{NPR+21b,
   author = {Aina Niemetz and Mathias Preiner and Andrew Reynolds and
	Clark Barrett and Cesare Tinelli},
   title = {On Solving Quantified Bit-Vectors using Invertibility Conditions},
   journal = {Formal Methods in System Design},
   volume = {57},
   number = {1},
   pages = {87--115},
   publisher = {Springer US},
   month = jan,
   year = {2021},
   doi = {10.1007/s10703-020-00359-9},
   url = {http://theory.stanford.edu/~barrett/pubs/NPR+21b.pdf}
}

(This webpage was created with bibtex2web.)