diff options
Diffstat (limited to 'src/theory/theory_model.h')
-rw-r--r-- | src/theory/theory_model.h | 11 |
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; /** |