summaryrefslogtreecommitdiff
path: root/src/theory/uf/equality_engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/uf/equality_engine.h')
-rw-r--r--src/theory/uf/equality_engine.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/theory/uf/equality_engine.h b/src/theory/uf/equality_engine.h
index 01ae6bfb4..29f932e04 100644
--- a/src/theory/uf/equality_engine.h
+++ b/src/theory/uf/equality_engine.h
@@ -268,6 +268,11 @@ public:
}
};
+ /**
+ * Store the application lookup, with enough information to backtrack
+ */
+ void storeApplicationLookup(FunctionApplication& funNormalized, EqualityNodeId funId);
+
private:
/** The context we are using */
@@ -294,6 +299,12 @@ private:
*/
ApplicationIdsMap d_applicationLookup;
+ /** Application lookups in order, so that we can backtrack. */
+ std::vector<FunctionApplication> d_applicationLookups;
+
+ /** Number of application lookups, for backtracking. */
+ context::CDO<size_t> d_applicationLookupsCount;
+
/** Map from ids to the nodes (these need to be nodes as we pick-up the opreators) */
std::vector<Node> d_nodes;
@@ -544,6 +555,7 @@ public:
d_context(context),
d_performNotify(true),
d_notify(notify),
+ d_applicationLookupsCount(context, 0),
d_nodesCount(context, 0),
d_assertedEqualitiesCount(context, 0),
d_equalityTriggersCount(context, 0),
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback