summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-09-08 11:33:40 -0500
committerGitHub <noreply@github.com>2021-09-08 16:33:40 +0000
commitddce3af579b12b3eb8f69baec3806bc33f4ac23c (patch)
treee2b49c145544fe9245fd6cb40ed30831125df79b /src/smt
parent46c7d9d919c40962ec0c538754dac5a975eedb25 (diff)
Add option for using bound inference for relevant assertions (#7152)
The method for discarding assertions based on bound inference is quite expensive (40% of runtime) for some benchmarks with quantified formulas from Facebook. This adds an option to disable this, which is done by default for quantified logics.
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/set_defaults.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/smt/set_defaults.cpp b/src/smt/set_defaults.cpp
index 034ca30e2..3c35c2961 100644
--- a/src/smt/set_defaults.cpp
+++ b/src/smt/set_defaults.cpp
@@ -649,6 +649,12 @@ void SetDefaults::setDefaultsPost(const LogicInfo& logic, Options& opts) const
opts.arith.nlExtTangentPlanesInterleave = true;
}
}
+ if (!opts.arith.nlRlvAssertBoundsWasSetByUser)
+ {
+ // use bound inference to determine when bounds are irrelevant only when
+ // the logic is quantifier-free
+ opts.arith.nlRlvAssertBounds = !logic.isQuantified();
+ }
// set the default decision mode
setDefaultDecisionMode(logic, opts);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback