summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2018-05-29 10:46:53 -0700
committerGitHub <noreply@github.com>2018-05-29 10:46:53 -0700
commitda603e398e2cc2a4e5d8d854b7e02317f20bebf1 (patch)
tree60b1b2f770d206d385a3e812f215224ede2eff96
parent0345cde5d2b0c94a98d52bd2d6412360598e95cb (diff)
parent908158f6833e3765b18041076187ed4cd8004a85 (diff)
Merge branch 'master' into pri_user_langpri_user_lang
-rw-r--r--src/smt/smt_engine.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index 41560895e..097b41d93 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -2196,8 +2196,15 @@ void SmtEngine::setDefaults() {
//until bugs 371,431 are fixed
if( ! options::minisatUseElim.wasSetByUser()){
- //AJR: cannot use minisat elim for new implementation of sets TODO: why?
- if( d_logic.isTheoryEnabled(THEORY_SETS) || d_logic.isQuantified() || options::produceModels() || options::produceAssignments() || options::checkModels() ){
+ // cannot use minisat elimination for logics where a theory solver
+ // introduces new literals into the search. This includes quantifiers
+ // (quantifier instantiation), and the lemma schemas used in non-linear
+ // and sets. We also can't use it if models are enabled.
+ if (d_logic.isTheoryEnabled(THEORY_SETS) || d_logic.isQuantified()
+ || options::produceModels() || options::produceAssignments()
+ || options::checkModels()
+ || (d_logic.isTheoryEnabled(THEORY_ARITH) && !d_logic.isLinear()))
+ {
options::minisatUseElim.set( false );
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback