summaryrefslogtreecommitdiff
path: root/src/expr/node_manager.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-12-16 10:52:26 -0600
committerGitHub <noreply@github.com>2020-12-16 10:52:26 -0600
commit496aed3f37c37519b6a26b3346b7f06e43bb5351 (patch)
tree709ba9b60db9c3550603a8e923568039cd2365a8 /src/expr/node_manager.cpp
parent3a3735d58ddac7ecfac80dad35da963901f15f55 (diff)
(proof-new) Use bound variable manager (#5679)
This uses BoundVarManager for several key places where bound variables are introduced, including for array extensionality witness terms, string preprocessing, quantifiers rewriting, and skolemization. This is motivated by making certain steps in solving deterministic for the sake of proofs, and gives a more consistent pattern in general for constructing bound variables.
Diffstat (limited to 'src/expr/node_manager.cpp')
-rw-r--r--src/expr/node_manager.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp
index 49f460f45..540e02979 100644
--- a/src/expr/node_manager.cpp
+++ b/src/expr/node_manager.cpp
@@ -24,6 +24,7 @@
#include "base/check.h"
#include "base/listener.h"
#include "expr/attribute.h"
+#include "expr/bound_var_manager.h"
#include "expr/dtype.h"
#include "expr/node_manager_attributes.h"
#include "expr/skolem_manager.h"
@@ -94,6 +95,7 @@ typedef expr::Attribute<attr::LambdaBoundVarListTag, Node> LambdaBoundVarListAtt
NodeManager::NodeManager(ExprManager* exprManager)
: d_statisticsRegistry(new StatisticsRegistry()),
d_skManager(new SkolemManager),
+ d_bvManager(new BoundVarManager),
next_id(0),
d_attrManager(new expr::attr::AttributeManager()),
d_exprManager(exprManager),
@@ -192,8 +194,10 @@ NodeManager::~NodeManager() {
NodeManagerScope nms(this);
- // Destroy skolem manager before cleaning up attributes and zombies
+ // Destroy skolem and bound var manager before cleaning up attributes and
+ // zombies
d_skManager = nullptr;
+ d_bvManager = nullptr;
{
ScopedBool dontGC(d_inReclaimZombies);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback