Solving bitvectors with MCSAT: explanations from bits and pieces (long version)

We present a decision procedure for the theory of fixed-sized bitvectors in the MCSAT framework. MCSAT is an alternative to CDCL(T) for SMT solving and can be seen as an extension of CDCL to domains other than the Booleans. Our procedure uses BDDs to record and update the sets of feasible values of bitvector variables. For explaining conflicts and propagations, we develop specialized word-level interpolation for two common fragments of the theory. For full generality, explaining conflicts outside of the covered fragments resorts to local bitblasting. The approach is implemented in the Yices 2 SMT solver and we present experimental results.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/02/2019

CVC4-SymBreak: Derived SMT solver at SMT Competition 2019

We present CVC4-SymBreak, a derived SMT solver based on CVC4, and a non-...
research
06/08/2021

Interpolation and Model Checking for Nonlinear Arithmetic

We present a new model-based interpolation procedure for satisfiability ...
research
02/12/2022

Kirigami, the Verifiable Art of Network Cutting

We introduce a modular verification approach to network control plane ve...
research
05/19/2023

Choose your Colour: Tree Interpolation for Quantified Formulas in SMT

We present a generic tree-interpolation algorithm in the SMT context wit...
research
08/23/2020

An Incremental Abstraction Scheme for Solving Hard SMT-Instances over Bit-Vectors

Decision procedures for SMT problems based on the theory of bit-vectors ...
research
06/09/2023

Explaining Reinforcement Learning with Shapley Values

For reinforcement learning systems to be widely adopted, their users mus...
research
07/23/2019

CVC4SY for SyGuS-COMP 2019

CVC4Sy is a syntax-guided synthesis (SyGuS) solver based on bounded term...

Please sign up or login with your details

Forgot password? Click here to reset