summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/sygus/synth_conjecture.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2019-12-06 12:03:40 -0600
committerGitHub <noreply@github.com>2019-12-06 12:03:40 -0600
commit30e5875e066e917b69d01189233aec26ce226cd6 (patch)
tree9ff9dd4a609a0989f416880c10183e228276c048 /src/theory/quantifiers/sygus/synth_conjecture.cpp
parentc7c2d593674e3776ab0c720be1c0c759db8f9453 (diff)
New algorithm for interpolation and abduction based on unsat cores (#3255)
Diffstat (limited to 'src/theory/quantifiers/sygus/synth_conjecture.cpp')
-rw-r--r--src/theory/quantifiers/sygus/synth_conjecture.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/theory/quantifiers/sygus/synth_conjecture.cpp b/src/theory/quantifiers/sygus/synth_conjecture.cpp
index c980e5413..ca4feda32 100644
--- a/src/theory/quantifiers/sygus/synth_conjecture.cpp
+++ b/src/theory/quantifiers/sygus/synth_conjecture.cpp
@@ -52,6 +52,7 @@ SynthConjecture::SynthConjecture(QuantifiersEngine* qe, SynthEngine* p)
d_ceg_proc(new SynthConjectureProcess(qe)),
d_ceg_gc(new CegGrammarConstructor(qe, this)),
d_sygus_rconst(new SygusRepairConst(qe)),
+ d_sygus_ccore(new CegisCoreConnective(qe, this)),
d_ceg_pbe(new SygusPbe(qe, this)),
d_ceg_cegis(new Cegis(qe, this)),
d_ceg_cegisUnif(new CegisUnif(qe, this)),
@@ -69,6 +70,10 @@ SynthConjecture::SynthConjecture(QuantifiersEngine* qe, SynthEngine* p)
{
d_modules.push_back(d_ceg_cegisUnif.get());
}
+ if (options::sygusCoreConnective())
+ {
+ d_modules.push_back(d_sygus_ccore.get());
+ }
d_modules.push_back(d_ceg_cegis.get());
}
@@ -438,7 +443,7 @@ bool SynthConjecture::doCheck(std::vector<Node>& lems)
NodeManager* nm = NodeManager::currentNM();
- // check the side condition
+ // check the side condition if we constructed a candidate
if (constructed_cand)
{
if (!checkSideCondition(candidate_values))
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback