summaryrefslogtreecommitdiff
path: root/src/smt/set_defaults.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-07-26 13:26:55 -0500
committerGitHub <noreply@github.com>2021-07-26 13:26:55 -0500
commite4e19cd62b3eebed2de5b9b627509df0ffec23e1 (patch)
treea1f56cfa02319fa724acb07490ac2f9ed8fabded /src/smt/set_defaults.cpp
parent74acadc8e7aebd9cd7d41bed64d67e42f45de640 (diff)
More updates to arithmetic in preparation for central equality engine (#6927)
Makes arithEqSolver more robust to propagations from multiple sources, changes the default relationship to congruence manager based on preliminary results on SMT-LIB.
Diffstat (limited to 'src/smt/set_defaults.cpp')
-rw-r--r--src/smt/set_defaults.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/smt/set_defaults.cpp b/src/smt/set_defaults.cpp
index d5b3b7929..e12d3eb1d 100644
--- a/src/smt/set_defaults.cpp
+++ b/src/smt/set_defaults.cpp
@@ -968,6 +968,18 @@ void setDefaults(LogicInfo& logic, bool isInternalSubsolver)
Trace("smt") << "setting decision mode to " << opts.decision.decisionMode
<< std::endl;
}
+
+ // set up of central equality engine
+ if (opts.arith.arithEqSolver)
+ {
+ if (!opts.arith.arithCongManWasSetByUser)
+ {
+ // if we are using the arithmetic equality solver, do not use the
+ // arithmetic congruence manager by default
+ opts.arith.arithCongMan = false;
+ }
+ }
+
if (options::incrementalSolving())
{
// disable modes not supported by incremental
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback