bv: Assert input facts on user-level 0. (#6515)
authorMathias Preiner <mathias.preiner@gmail.com>
Fri, 14 May 2021 00:29:52 +0000 (17:29 -0700)
committerGitHub <noreply@github.com>
Fri, 14 May 2021 00:29:52 +0000 (00:29 +0000)
commitb59deea057513448d98f54629c78a38a81f99b27
tree4f4458795bc505173710786a932c3babf9a1b5d4
parentd7b74a33e3722dd123ecfb79603538cc5ac889a0
bv: Assert input facts on user-level 0. (#6515)

The bitblast solver currently uses solving under assumptions for all facts that are sent to the bit-vector solver. For input facts on user-level 0 we can however assert the fact to the SAT solver, which allows the SAT solver to do more preprocessing. This PR adds the option to assert user-level 0 input facts, which is disabled by default.
src/options/bv_options.toml
src/prop/minisat/core/Solver.h
src/prop/minisat/minisat.cpp
src/prop/minisat/minisat.h
src/prop/prop_engine.cpp
src/prop/prop_engine.h
src/prop/sat_solver.h
src/theory/bv/bv_solver_bitblast.cpp
src/theory/bv/bv_solver_bitblast.h
src/theory/valuation.cpp
src/theory/valuation.h