diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-04-14 11:12:30 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-14 16:12:30 +0000 |
commit | 5f6b4f8dd31e21f935c3f4a441af11e18e12d283 (patch) | |
tree | add52bead6587b5d0e5407f90e1f3056d05a0305 /src/theory/relevance_manager.h | |
parent | f3ecc4bfe17776d08efbbb5ed76a5879efa419ca (diff) |
Add interface for getting relevant assertions (#5131)
This adds an interface to TheoryEngine for getting the current set of relevant assertions if it is available.
An interface to this can further be added to the API in a future PR.
Diffstat (limited to 'src/theory/relevance_manager.h')
-rw-r--r-- | src/theory/relevance_manager.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/theory/relevance_manager.h b/src/theory/relevance_manager.h index 83014bcd6..ac0ad83b5 100644 --- a/src/theory/relevance_manager.h +++ b/src/theory/relevance_manager.h @@ -88,11 +88,24 @@ class RelevanceManager */ void resetRound(); /** - * Is lit part of the current relevant selection? This call is valid during - * full effort check in TheoryEngine. This means that theories can query this - * during FULL or LAST_CALL efforts, through the Valuation class. + * Is lit part of the current relevant selection? This computes the set of + * relevant assertions if not already done so. This call is valid during a + * full effort check in TheoryEngine, or after TheoryEngine has terminated + * with "sat". This means that theories can query this during FULL or + * LAST_CALL efforts, through the Valuation class. */ bool isRelevant(Node lit); + /** + * Get the current relevant selection (see above). This computes this set + * if not already done so. This call is valid during a full effort check in + * TheoryEngine, or after TheoryEngine has terminated with "sat". This method + * sets the flag success to false if we failed to compute relevant + * assertions, which can occur if + * + * The value of this return is only valid if success was not updated to false. + */ + const std::unordered_set<TNode, TNodeHashFunction>& getRelevantAssertions( + bool& success); private: /** |