diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2018-11-28 11:06:32 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-28 11:06:32 -0600 |
commit | e194e29c76f30ab9f0b42d20af699f132ef82fe4 (patch) | |
tree | 4423c9c8b63b3c0c16ef0948308bb8ebe3574e12 /src/theory/quantifiers/expr_miner.cpp | |
parent | 4698209a407a18ec667a20983328a03d42095e40 (diff) |
Generalize sygus stream solution filtering to logical strength (#2697)
Diffstat (limited to 'src/theory/quantifiers/expr_miner.cpp')
-rw-r--r-- | src/theory/quantifiers/expr_miner.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/theory/quantifiers/expr_miner.cpp b/src/theory/quantifiers/expr_miner.cpp index 16e59c119..b65d1c522 100644 --- a/src/theory/quantifiers/expr_miner.cpp +++ b/src/theory/quantifiers/expr_miner.cpp @@ -113,6 +113,29 @@ void ExprMiner::initializeChecker(std::unique_ptr<SmtEngine>& checker, } } +Result ExprMiner::doCheck(Node query) +{ + Node queryr = Rewriter::rewrite(query); + if (queryr.isConst()) + { + if (!queryr.getConst<bool>()) + { + return Result(Result::UNSAT); + } + else + { + return Result(Result::SAT); + } + } + NodeManager* nm = NodeManager::currentNM(); + bool needExport = false; + ExprManagerMapCollection varMap; + ExprManager em(nm->getOptions()); + std::unique_ptr<SmtEngine> smte; + initializeChecker(smte, em, varMap, queryr, needExport); + return smte->checkSat(); +} + } // namespace quantifiers } // namespace theory } // namespace CVC4 |