  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.
