summaryrefslogtreecommitdiff
path: root/src/theory/evaluator.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/evaluator.h')
-rw-r--r--src/theory/evaluator.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/theory/evaluator.h b/src/theory/evaluator.h
index a65ffdf19..94e6fc518 100644
--- a/src/theory/evaluator.h
+++ b/src/theory/evaluator.h
@@ -118,6 +118,19 @@ class Evaluator
const std::vector<Node>& args,
const std::vector<Node>& vals,
std::unordered_map<TNode, Node, NodeHashFunction>& evalAsNode);
+ /** reconstruct
+ *
+ * This function reconstructs the result of evaluating n using a combination
+ * of evaluation results (eresults) and substitution+rewriting (evalAsNode).
+ *
+ * Arguments eresults and evalAsNode are built within the context of the
+ * above method for some args and vals. This method ensures that the return
+ * value is equivalent to the rewritten form of n * { args -> vals }.
+ */
+ Node reconstruct(
+ TNode n,
+ std::unordered_map<TNode, EvalResult, TNodeHashFunction>& eresults,
+ std::unordered_map<TNode, Node, NodeHashFunction>& evalAsNode);
};
} // namespace theory
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback