summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-05-12 11:47:47 -0500
committerGitHub <noreply@github.com>2020-05-12 11:47:47 -0500
commit3b50dfe623f44e97d85449fa2a7566e81c639b47 (patch)
treec4b0ccd1c89435504d83c45408f6188265af351f
parent00badd3a63a2fa568373d5c58553944b579d42bb (diff)
Do not enable unconstrained simplification if arithmetic is present (#4489)
For now we do not enable unconstrained simplification when arithmetic is present. Post SMT COMP, we should investigate making arithmetic not output lemmas during preprocessing (CVC4/cvc4-wishues#71).
-rw-r--r--src/smt/set_defaults.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/smt/set_defaults.cpp b/src/smt/set_defaults.cpp
index c887d1895..8236486dd 100644
--- a/src/smt/set_defaults.cpp
+++ b/src/smt/set_defaults.cpp
@@ -300,7 +300,8 @@ void setDefaults(SmtEngine& smte, LogicInfo& logic)
}
// Disable options incompatible with incremental solving, unsat cores, and
- // proofs or output an error if enabled explicitly
+ // proofs or output an error if enabled explicitly. It is also currently
+ // incompatible with arithmetic, force the option off.
if (options::incrementalSolving() || options::unsatCores()
|| options::proof())
{
@@ -326,8 +327,9 @@ void setDefaults(SmtEngine& smte, LogicInfo& logic)
bool uncSimp = !logic.isQuantified() && !options::produceModels()
&& !options::produceAssignments()
&& !options::checkModels()
- && (logic.isTheoryEnabled(THEORY_ARRAYS)
- && logic.isTheoryEnabled(THEORY_BV));
+ && logic.isTheoryEnabled(THEORY_ARRAYS)
+ && logic.isTheoryEnabled(THEORY_BV)
+ && !logic.isTheoryEnabled(THEORY_ARITH);
Trace("smt") << "setting unconstrained simplification to " << uncSimp
<< std::endl;
options::unconstrainedSimp.set(uncSimp);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback