diff options
Diffstat (limited to 'src/theory/sets/solver_state.cpp')
-rw-r--r-- | src/theory/sets/solver_state.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/theory/sets/solver_state.cpp b/src/theory/sets/solver_state.cpp index ca7c0bf2b..9e695bf56 100644 --- a/src/theory/sets/solver_state.cpp +++ b/src/theory/sets/solver_state.cpp @@ -404,7 +404,7 @@ Node SolverState::getProxy(Node n) { Kind nk = n.getKind(); if (nk != EMPTYSET && nk != SINGLETON && nk != INTERSECTION && nk != SETMINUS - && nk != UNION) + && nk != UNION && nk != UNIVERSE_SET) { return n; } @@ -605,6 +605,19 @@ void SolverState::debugPrintSet(Node s, const char* c) const } } +const vector<Node> SolverState::getSetsEqClasses(const TypeNode& t) const +{ + vector<Node> representatives; + for (const Node& eqc : getSetsEqClasses()) + { + if (eqc.getType().getSetElementType() == t) + { + representatives.push_back(eqc); + } + } + return representatives; +} + } // namespace sets } // namespace theory } // namespace CVC4 |