summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers_engine.cpp
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2021-07-03 12:11:57 -0700
committerGitHub <noreply@github.com>2021-07-03 19:11:57 +0000
commit698d244a00618a0399bce9e15eddef52f68b8c94 (patch)
tree65acbab5671dc90bec6790f6a70be76e16fe037a /src/theory/quantifiers_engine.cpp
parentc56eaf4423fbf65663a4e03c8a60ed937c99de7d (diff)
Fix performance of string regression (#6832)
Regression cmu-dis-0707-3.smt2 has been timing out when using an ASan build after commit a4f38d6. Before that commit --strings-exp implicitly enabled --fmf-bound. After the commit, the solver was supposed to apply the same reasoning but only to interal quantifiers and without enabling --fmf-bound. However, the commit missed some options checks that now also have to check whether --strings-exp is enabled. This commit updates those option checks. With this fix, we get a slightly different value for bug590.smt2 after replying unknown. This commit updates the regression to be more lenient with the value returned.
Diffstat (limited to 'src/theory/quantifiers_engine.cpp')
-rw-r--r--src/theory/quantifiers_engine.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp
index 6214737ad..ccd177b7d 100644
--- a/src/theory/quantifiers_engine.cpp
+++ b/src/theory/quantifiers_engine.cpp
@@ -19,6 +19,7 @@
#include "options/printer_options.h"
#include "options/quantifiers_options.h"
#include "options/smt_options.h"
+#include "options/strings_options.h"
#include "options/uf_options.h"
#include "smt/smt_engine_scope.h"
#include "theory/quantifiers/equality_query.h"
@@ -67,7 +68,7 @@ QuantifiersEngine::QuantifiersEngine(
// Finite model finding requires specialized ways of building the model.
// We require constructing the model here, since it is required for
// initializing the CombinationEngine and the rest of quantifiers engine.
- if (options::fmfBound()
+ if (options::fmfBound() || options::stringExp()
|| (options::finiteModelFind()
&& (options::mbqiMode() == options::MbqiMode::FMC
|| options::mbqiMode() == options::MbqiMode::TRUST)))
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback