diff options
Diffstat (limited to 'src/theory/arith/theory_arith.cpp')
-rw-r--r-- | src/theory/arith/theory_arith.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/theory/arith/theory_arith.cpp b/src/theory/arith/theory_arith.cpp index cdb6c77f3..e65369f96 100644 --- a/src/theory/arith/theory_arith.cpp +++ b/src/theory/arith/theory_arith.cpp @@ -63,6 +63,18 @@ void TheoryArith::preRegisterTerm(TNode n){ d_internal->preRegisterTerm(n); } +void TheoryArith::finishInit() +{ + TheoryModel* tm = d_valuation.getModel(); + Assert(tm != nullptr); + if (getLogicInfo().isTheoryEnabled(THEORY_ARITH) + && getLogicInfo().areTranscendentalsUsed()) + { + // witness is used to eliminate square root + tm->setUnevaluatedKind(kind::WITNESS); + } +} + Node TheoryArith::expandDefinition(Node node) { return d_internal->expandDefinition(node); |