Add BV solver bitblast. (#5851)
authorMathias Preiner <mathias.preiner@gmail.com>
Wed, 3 Feb 2021 20:38:09 +0000 (12:38 -0800)
committerGitHub <noreply@github.com>
Wed, 3 Feb 2021 20:38:09 +0000 (12:38 -0800)
commitac998a45ae64c589aeb79c5fd72234468e40451c
treeade5266bbc0a5279ea76b4eb5c9d8a77e3ab967d
parenta6c122da21b3d5b9c37d9ec670dec766eaff7001
Add BV solver bitblast. (#5851)

This PR adds a new bit-blasting BV solver, which can be enabled via --bv-solver=bitblast. The new bit-blast solver can be used instead of the lazy BV solver and currently supports CaDiCaL and CryptoMiniSat as SAT back end.
16 files changed:
src/CMakeLists.txt
src/options/bv_options.toml
src/options/options_handler.cpp
src/prop/cadical.cpp
src/prop/cadical.h
src/prop/cryptominisat.cpp
src/prop/cryptominisat.h
src/prop/sat_solver.h
src/smt/set_defaults.cpp
src/theory/bv/bitblast/bitblast_strategies_template.h
src/theory/bv/bitblast/simple_bitblaster.cpp
src/theory/bv/bitblast/simple_bitblaster.h
src/theory/bv/bv_solver_bitblast.cpp [new file with mode: 0644]
src/theory/bv/bv_solver_bitblast.h [new file with mode: 0644]
src/theory/bv/theory_bv.cpp
src/theory/bv/theory_bv.h