summaryrefslogtreecommitdiff
path: root/src/theory/bv
diff options
context:
space:
mode:
authorGereon Kremer <gkremer@stanford.edu>2021-02-11 21:25:50 +0100
committerGitHub <noreply@github.com>2021-02-11 21:25:50 +0100
commite8333750e5932ab5ce9a8a491b53aef4ffa4b0aa (patch)
treea6de942fd32afb4dcb67d33884cdff7252c6f14f /src/theory/bv
parentf5486884229348516ac26300273e4f5458a74208 (diff)
Make most methods of TheoryInferenceManager expect an InferenceId. (#5897)
This PR makes most methods of the TheoryInferenceManager expect an InferenceId. All classes that inherit from TheoryInferenceManager are adapted accordingly and InferenceIds are passed everywhere. In some cases, there are no appropriate InferenceIds yet. We use InferenceId::UNKNOWN for the time being and introduce proper values in future PRs. The InferenceIds are not yet used, but will be used for statistics and debug output.
Diffstat (limited to 'src/theory/bv')
-rw-r--r--src/theory/bv/bitblast/lazy_bitblaster.cpp4
-rw-r--r--src/theory/bv/bv_solver_bitblast.cpp2
-rw-r--r--src/theory/bv/bv_solver_lazy.cpp6
-rw-r--r--src/theory/bv/bv_solver_lazy.h2
-rw-r--r--src/theory/bv/bv_solver_simple.cpp8
-rw-r--r--src/theory/bv/bv_subtheory_core.cpp4
6 files changed, 13 insertions, 13 deletions
diff --git a/src/theory/bv/bitblast/lazy_bitblaster.cpp b/src/theory/bv/bitblast/lazy_bitblaster.cpp
index 7f38c61a2..f3adc4b21 100644
--- a/src/theory/bv/bitblast/lazy_bitblaster.cpp
+++ b/src/theory/bv/bitblast/lazy_bitblaster.cpp
@@ -416,9 +416,9 @@ void TLazyBitblaster::MinisatNotify::notify(prop::SatClause& clause) {
lemmab << d_cnf->getNode(clause[i]);
}
Node lemma = lemmab;
- d_bv->d_inferManager.lemma(lemma);
+ d_bv->d_inferManager.lemma(lemma, InferenceId::UNKNOWN);
} else {
- d_bv->d_inferManager.lemma(d_cnf->getNode(clause[0]));
+ d_bv->d_inferManager.lemma(d_cnf->getNode(clause[0]), InferenceId::UNKNOWN);
}
}
diff --git a/src/theory/bv/bv_solver_bitblast.cpp b/src/theory/bv/bv_solver_bitblast.cpp
index 68192e1d4..ce8bc3645 100644
--- a/src/theory/bv/bv_solver_bitblast.cpp
+++ b/src/theory/bv/bv_solver_bitblast.cpp
@@ -97,7 +97,7 @@ void BVSolverBitblast::postCheck(Theory::Effort level)
}
NodeManager* nm = NodeManager::currentNM();
- d_inferManager.conflict(nm->mkAnd(conflict));
+ d_inferManager.conflict(nm->mkAnd(conflict), InferenceId::UNKNOWN);
}
}
diff --git a/src/theory/bv/bv_solver_lazy.cpp b/src/theory/bv/bv_solver_lazy.cpp
index a19af44ac..9c44e32f1 100644
--- a/src/theory/bv/bv_solver_lazy.cpp
+++ b/src/theory/bv/bv_solver_lazy.cpp
@@ -196,7 +196,7 @@ void BVSolverLazy::sendConflict()
{
Debug("bitvector") << indent() << "BVSolverLazy::check(): conflict "
<< d_conflictNode << std::endl;
- d_inferManager.conflict(d_conflictNode);
+ d_inferManager.conflict(d_conflictNode, InferenceId::UNKNOWN);
d_statistics.d_avgConflictSize.addEntry(d_conflictNode.getNumChildren());
d_conflictNode = Node::null();
}
@@ -287,11 +287,11 @@ void BVSolverLazy::check(Theory::Effort e)
{
if (assertions.size() == 1)
{
- d_inferManager.conflict(assertions[0]);
+ d_inferManager.conflict(assertions[0], InferenceId::UNKNOWN);
return;
}
Node conflict = utils::mkAnd(assertions);
- d_inferManager.conflict(conflict);
+ d_inferManager.conflict(conflict, InferenceId::UNKNOWN);
return;
}
return;
diff --git a/src/theory/bv/bv_solver_lazy.h b/src/theory/bv/bv_solver_lazy.h
index 6885dbba4..da5f1cbf8 100644
--- a/src/theory/bv/bv_solver_lazy.h
+++ b/src/theory/bv/bv_solver_lazy.h
@@ -203,7 +203,7 @@ class BVSolverLazy : public BVSolver
void lemma(TNode node)
{
- d_inferManager.lemma(node);
+ d_inferManager.lemma(node, InferenceId::UNKNOWN);
d_lemmasAdded = true;
}
diff --git a/src/theory/bv/bv_solver_simple.cpp b/src/theory/bv/bv_solver_simple.cpp
index 98fce24be..c4a404041 100644
--- a/src/theory/bv/bv_solver_simple.cpp
+++ b/src/theory/bv/bv_solver_simple.cpp
@@ -93,12 +93,12 @@ void BVSolverSimple::addBBLemma(TNode fact)
if (d_epg == nullptr)
{
- d_inferManager.lemma(lemma);
+ d_inferManager.lemma(lemma, InferenceId::UNKNOWN);
}
else
{
TrustNode tlem = d_epg->mkTrustNode(lemma, PfRule::BV_BITBLAST, {}, {fact});
- d_inferManager.trustedLemma(tlem);
+ d_inferManager.trustedLemma(tlem, InferenceId::UNKNOWN);
}
}
@@ -123,13 +123,13 @@ bool BVSolverSimple::preNotifyFact(
if (d_epg == nullptr)
{
- d_inferManager.lemma(lemma);
+ d_inferManager.lemma(lemma, InferenceId::UNKNOWN);
}
else
{
TrustNode tlem =
d_epg->mkTrustNode(lemma, PfRule::BV_EAGER_ATOM, {}, {fact});
- d_inferManager.trustedLemma(tlem);
+ d_inferManager.trustedLemma(tlem, InferenceId::UNKNOWN);
}
std::unordered_set<Node, NodeHashFunction> bv_atoms;
diff --git a/src/theory/bv/bv_subtheory_core.cpp b/src/theory/bv/bv_subtheory_core.cpp
index e29553063..87cc0bc4d 100644
--- a/src/theory/bv/bv_subtheory_core.cpp
+++ b/src/theory/bv/bv_subtheory_core.cpp
@@ -560,7 +560,7 @@ bool CoreSolver::doExtfInferences(std::vector<Node>& terms)
nm->mkNode(kind::LT, n, max));
Trace("bv-extf-lemma")
<< "BV extf lemma (range) : " << lem << std::endl;
- d_bv->d_inferManager.lemma(lem);
+ d_bv->d_inferManager.lemma(lem, InferenceId::UNKNOWN);
sentLemma = true;
}
}
@@ -609,7 +609,7 @@ bool CoreSolver::doExtfInferences(std::vector<Node>& terms)
// (bv2nat ((_ int2bv w) x)) == x + k*2^w for some k
Trace("bv-extf-lemma")
<< "BV extf lemma (collapse) : " << lem << std::endl;
- d_bv->d_inferManager.lemma(lem);
+ d_bv->d_inferManager.lemma(lem, InferenceId::UNKNOWN);
sentLemma = true;
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback