diff options
Diffstat (limited to 'src/theory/quantifiers/sygus/synth_engine.cpp')
-rw-r--r-- | src/theory/quantifiers/sygus/synth_engine.cpp | 44 |
1 files changed, 5 insertions, 39 deletions
diff --git a/src/theory/quantifiers/sygus/synth_engine.cpp b/src/theory/quantifiers/sygus/synth_engine.cpp index a64dd9c25..95f1acb25 100644 --- a/src/theory/quantifiers/sygus/synth_engine.cpp +++ b/src/theory/quantifiers/sygus/synth_engine.cpp @@ -304,8 +304,6 @@ void SynthEngine::registerQuantifier(Node q) bool SynthEngine::checkConjecture(SynthConjecture* conj) { - Node q = conj->getEmbeddedConjecture(); - Node aq = conj->getConjecture(); if (Trace.isOn("sygus-engine-debug")) { conj->debugPrint("sygus-engine-debug"); @@ -340,46 +338,14 @@ bool SynthEngine::checkConjecture(SynthConjecture* conj) << " ...check for counterexample." << std::endl; return true; } - else - { - if (conj->needsRefinement()) - { - // immediately go to refine candidate - return checkConjecture(conj); - } - } - return ret; - } - else - { - Trace("sygus-engine-debug") - << " *** Refine candidate phase..." << std::endl; - std::vector<Node> rlems; - conj->doRefine(rlems); - bool addedLemma = false; - for (unsigned i = 0; i < rlems.size(); i++) - { - Node lem = rlems[i]; - Trace("cegqi-lemma") << "Cegqi::Lemma : candidate refinement : " << lem - << std::endl; - bool res = d_quantEngine->addLemma(lem); - if (res) - { - ++(d_statistics.d_cegqi_lemmas_refine); - conj->incrementRefineCount(); - addedLemma = true; - } - else - { - Trace("cegqi-warn") << " ...FAILED to add refinement!" << std::endl; - } - } - if (addedLemma) + if (!conj->needsRefinement()) { - Trace("sygus-engine-debug") << " ...refine candidate." << std::endl; + return ret; } + // otherwise, immediately go to refine candidate } - return true; + Trace("sygus-engine-debug") << " *** Refine candidate phase..." << std::endl; + return conj->doRefine(); } void SynthEngine::printSynthSolution(std::ostream& out) |