Split lazy bit-vector solver from TheoryBV (#5009)
authorMathias Preiner <mathias.preiner@gmail.com>
Fri, 4 Sep 2020 01:34:19 +0000 (18:34 -0700)
committerGitHub <noreply@github.com>
Fri, 4 Sep 2020 01:34:19 +0000 (18:34 -0700)
commitc9e23f66383a4d490aca6d082d40117fe799ee4b
tree21c4aaf67d7d1b0c188d9e99d3b364883618b479
parenta5b834d5af88e372d9c6340653f831a09daf1d39
Split lazy bit-vector solver from TheoryBV  (#5009)

This commit separates the lazy bit-vector solver from TheoryBV, which is now a thin wrapper around a bit-vector solver d_internal . This will allow us to easily swap out the bit-vector solver in the future.
28 files changed:
src/CMakeLists.txt
src/theory/bv/bitblast/eager_bitblaster.cpp
src/theory/bv/bitblast/eager_bitblaster.h
src/theory/bv/bitblast/lazy_bitblaster.cpp
src/theory/bv/bitblast/lazy_bitblaster.h
src/theory/bv/bv_eager_solver.cpp
src/theory/bv/bv_eager_solver.h
src/theory/bv/bv_quick_check.cpp
src/theory/bv/bv_quick_check.h
src/theory/bv/bv_solver.h [new file with mode: 0644]
src/theory/bv/bv_solver_lazy.cpp [new file with mode: 0644]
src/theory/bv/bv_solver_lazy.h [new file with mode: 0644]
src/theory/bv/bv_subtheory.h
src/theory/bv/bv_subtheory_algebraic.cpp
src/theory/bv/bv_subtheory_algebraic.h
src/theory/bv/bv_subtheory_bitblast.cpp
src/theory/bv/bv_subtheory_bitblast.h
src/theory/bv/bv_subtheory_core.cpp
src/theory/bv/bv_subtheory_core.h
src/theory/bv/bv_subtheory_inequality.cpp
src/theory/bv/bv_subtheory_inequality.h
src/theory/bv/theory_bv.cpp
src/theory/bv/theory_bv.h
src/theory/theory_inference_manager.cpp
src/theory/theory_inference_manager.h
src/theory/theory_state.cpp
src/theory/theory_state.h
test/unit/theory/theory_bv_white.h