summaryrefslogtreecommitdiff
path: root/src/theory/theory_model.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/theory_model.h')
-rw-r--r--src/theory/theory_model.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/theory/theory_model.h b/src/theory/theory_model.h
index d984fbc6b..1deec82d9 100644
--- a/src/theory/theory_model.h
+++ b/src/theory/theory_model.h
@@ -266,6 +266,13 @@ public:
*/
void setUnevaluatedKind(Kind k);
void setSemiEvaluatedKind(Kind k);
+ /** is legal elimination
+ *
+ * Returns true if x -> val is a legal elimination of variable x.
+ * In particular, this ensures that val does not have any subterms that
+ * are of unevaluated kinds.
+ */
+ bool isLegalElimination(TNode x, TNode val);
//---------------------------- end building the model
// ------------------- general equality queries
@@ -356,8 +363,8 @@ public:
std::map<Node, Node> d_approximations;
/** list of all approximations */
std::vector<std::pair<Node, Node> > d_approx_list;
- /** a set of kinds that are not evaluated */
- std::unordered_set<Kind, kind::KindHashFunction> d_not_evaluated_kinds;
+ /** a set of kinds that are unevaluated */
+ std::unordered_set<Kind, kind::KindHashFunction> d_unevaluated_kinds;
/** a set of kinds that are semi-evaluated */
std::unordered_set<Kind, kind::KindHashFunction> d_semi_evaluated_kinds;
/**
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback