diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2018-10-10 20:44:02 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-10 20:44:02 -0500 |
commit | 7d70b721f43157e01bc6166a822df79250df632a (patch) | |
tree | 6d92615b265f02e237717f49017d81b4646ae714 /src/theory/quantifiers/expr_miner.cpp | |
parent | aa84926fb81001cc86661dead2ac5b856dd45ba3 (diff) |
Synthesize rewrite rules from inputs (#2608)
Diffstat (limited to 'src/theory/quantifiers/expr_miner.cpp')
-rw-r--r-- | src/theory/quantifiers/expr_miner.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/theory/quantifiers/expr_miner.cpp b/src/theory/quantifiers/expr_miner.cpp index 0e8542826..67aa8688c 100644 --- a/src/theory/quantifiers/expr_miner.cpp +++ b/src/theory/quantifiers/expr_miner.cpp @@ -77,7 +77,8 @@ void ExprMiner::initializeChecker(std::unique_ptr<SmtEngine>& checker, // check is ground. Node squery = convertToSkolem(query); NodeManager* nm = NodeManager::currentNM(); - if (options::sygusExprMinerCheckTimeout.wasSetByUser()) + if (options::sygusExprMinerCheckTimeout.wasSetByUser() + || options::sygusRewSynthInput()) { // To support a separate timeout for the subsolver, we need to create // a separate ExprManager with its own options. This requires that @@ -89,6 +90,7 @@ void ExprMiner::initializeChecker(std::unique_ptr<SmtEngine>& checker, checker.reset(new SmtEngine(&em)); checker->setTimeLimit(options::sygusExprMinerCheckTimeout(), true); checker->setLogic(smt::currentSmtEngine()->getLogicInfo()); + checker->setOption("sygus-rr-synth-input", false); Expr equery = squery.toExpr().exportTo(&em, varMap); checker->assertFormula(equery); } @@ -96,8 +98,9 @@ void ExprMiner::initializeChecker(std::unique_ptr<SmtEngine>& checker, { std::stringstream msg; msg << "Unable to export " << squery - << " but exporting expressions is required for " - "--sygus-rr-synth-check-timeout."; + << " but exporting expressions is " + "required for an expression " + "miner check."; throw OptionException(msg.str()); } needExport = true; |