diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-09-08 11:33:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-08 16:33:40 +0000 |
commit | ddce3af579b12b3eb8f69baec3806bc33f4ac23c (patch) | |
tree | e2b49c145544fe9245fd6cb40ed30831125df79b /src/smt | |
parent | 46c7d9d919c40962ec0c538754dac5a975eedb25 (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.cpp | 6 |
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); |