summaryrefslogtreecommitdiff
path: root/src/prop/skolem_def_manager.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-04-22 14:12:23 -0500
committerGitHub <noreply@github.com>2021-04-22 19:12:23 +0000
commit7295b8da3f77d0121ab0215a7f309dab90b02854 (patch)
tree3ea57fb04d3a279460b5df4634c0bd13c40e2652 /src/prop/skolem_def_manager.cpp
parent5c09e3f6e14f92b3c66b260837bd460973b4cc57 (diff)
Reorganizing use of skolem definition manager in prop engine (#6415)
Towards setting up the proper callbacks into the new justification heuristic. Moves ownership of skolem definition manager from TheoryProxy to PropEngine.
Diffstat (limited to 'src/prop/skolem_def_manager.cpp')
-rw-r--r--src/prop/skolem_def_manager.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/prop/skolem_def_manager.cpp b/src/prop/skolem_def_manager.cpp
index 9b4011557..873a748ae 100644
--- a/src/prop/skolem_def_manager.cpp
+++ b/src/prop/skolem_def_manager.cpp
@@ -44,12 +44,13 @@ void SkolemDefManager::notifySkolemDefinition(TNode skolem, Node def)
TNode SkolemDefManager::getDefinitionForSkolem(TNode skolem) const
{
NodeNodeMap::const_iterator it = d_skDefs.find(skolem);
- AlwaysAssert(it != d_skDefs.end()) << "No skolem def for " << skolem;
+ Assert(it != d_skDefs.end()) << "No skolem def for " << skolem;
return it->second;
}
void SkolemDefManager::notifyAsserted(TNode literal,
- std::vector<TNode>& activatedSkolems)
+ std::vector<TNode>& activatedSkolems,
+ bool useDefs)
{
std::unordered_set<Node, NodeHashFunction> skolems;
getSkolems(literal, skolems);
@@ -61,8 +62,18 @@ void SkolemDefManager::notifyAsserted(TNode literal,
continue;
}
d_skActive.insert(k);
- // add to the activated list
- activatedSkolems.push_back(k);
+ if (useDefs)
+ {
+ // add its definition to the activated list
+ NodeNodeMap::const_iterator it = d_skDefs.find(k);
+ Assert(it != d_skDefs.end());
+ activatedSkolems.push_back(it->second);
+ }
+ else
+ {
+ // add to the activated list
+ activatedSkolems.push_back(k);
+ }
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback