diff options
Diffstat (limited to 'src/theory/bv')
-rw-r--r-- | src/theory/bv/bitblast/lazy_bitblaster.cpp | 3 | ||||
-rw-r--r-- | src/theory/bv/bv_subtheory_algebraic.cpp | 3 | ||||
-rw-r--r-- | src/theory/bv/bv_subtheory_core.cpp | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/src/theory/bv/bitblast/lazy_bitblaster.cpp b/src/theory/bv/bitblast/lazy_bitblaster.cpp index c3a305952..83e286f10 100644 --- a/src/theory/bv/bitblast/lazy_bitblaster.cpp +++ b/src/theory/bv/bitblast/lazy_bitblaster.cpp @@ -540,7 +540,8 @@ Node TLazyBitblaster::getModelFromSatSolver(TNode a, bool fullModel) { bool TLazyBitblaster::collectModelInfo(TheoryModel* m, bool fullModel) { std::set<Node> termSet; - d_bv->computeRelevantTerms(termSet); + const std::set<Kind>& irrKinds = m->getIrrelevantKinds(); + d_bv->computeAssertedTerms(termSet, irrKinds, true); for (std::set<Node>::const_iterator it = termSet.begin(); it != termSet.end(); ++it) { TNode var = *it; diff --git a/src/theory/bv/bv_subtheory_algebraic.cpp b/src/theory/bv/bv_subtheory_algebraic.cpp index e5a416a1b..80a6aeb86 100644 --- a/src/theory/bv/bv_subtheory_algebraic.cpp +++ b/src/theory/bv/bv_subtheory_algebraic.cpp @@ -715,7 +715,8 @@ bool AlgebraicSolver::collectModelInfo(TheoryModel* model, bool fullModel) Debug("bitvector-model") << "AlgebraicSolver::collectModelInfo\n"; AlwaysAssert(!d_quickSolver->inConflict()); set<Node> termSet; - d_bv->computeRelevantTerms(termSet); + const std::set<Kind>& irrKinds = model->getIrrelevantKinds(); + d_bv->computeAssertedTerms(termSet, irrKinds, true); // collect relevant terms that the bv theory abstracts to variables // (variables and parametric terms such as select apply_uf) diff --git a/src/theory/bv/bv_subtheory_core.cpp b/src/theory/bv/bv_subtheory_core.cpp index d8f376a74..38c5cb482 100644 --- a/src/theory/bv/bv_subtheory_core.cpp +++ b/src/theory/bv/bv_subtheory_core.cpp @@ -354,7 +354,8 @@ bool CoreSolver::collectModelInfo(TheoryModel* m, bool fullModel) } } set<Node> termSet; - d_bv->computeRelevantTerms(termSet); + const std::set<Kind>& irrKinds = m->getIrrelevantKinds(); + d_bv->computeAssertedTerms(termSet, irrKinds, true); if (!m->assertEqualityEngine(d_equalityEngine, &termSet)) { return false; |