summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorClark Barrett <barrett@cs.stanford.edu>2016-11-11 14:41:51 -0800
committerClark Barrett <barrett@cs.stanford.edu>2016-11-11 14:41:51 -0800
commitd77c5daaa030ae5ff6b81eb7e77752526a8c0bb8 (patch)
tree364258ca92e6c993123ddce9a2193d0e4dce9f6f /src/smt
parente2f28f39b3a3749a5eeed5294f25bec1e210b129 (diff)
Enable eager bitblasting for QF_ABV when no stores are present.
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/smt_engine.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index e46511e59..38347508c 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -1291,7 +1291,8 @@ void SmtEngine::setDefaults() {
}
else if (options::solveIntAsBV() > 0) {
d_logic = LogicInfo("QF_BV");
- } else if (d_logic.getLogicString() == "QF_UFBV" &&
+ } else if ((d_logic.getLogicString() == "QF_UFBV" ||
+ d_logic.getLogicString() == "QF_ABV") &&
options::bitblastMode() == theory::bv::BITBLAST_MODE_EAGER) {
d_logic = LogicInfo("QF_BV");
}
@@ -3871,7 +3872,8 @@ void SmtEnginePrivate::processAssertions() {
if (options::bitblastMode() == theory::bv::BITBLAST_MODE_EAGER &&
!d_smt.d_logic.isPure(THEORY_BV) &&
- d_smt.d_logic.getLogicString() != "QF_UFBV") {
+ d_smt.d_logic.getLogicString() != "QF_UFBV" &&
+ d_smt.d_logic.getLogicString() != "QF_ABV") {
throw ModalException("Eager bit-blasting does not currently support theory combination. "
"Note that in a QF_BV problem UF symbols can be introduced for division. "
"Try --bv-div-zero-const to interpret division by zero as a constant.");
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback