summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/sygus/sygus_abduct.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/quantifiers/sygus/sygus_abduct.cpp')
-rw-r--r--src/theory/quantifiers/sygus/sygus_abduct.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/theory/quantifiers/sygus/sygus_abduct.cpp b/src/theory/quantifiers/sygus/sygus_abduct.cpp
index 278d708ee..5cffda78f 100644
--- a/src/theory/quantifiers/sygus/sygus_abduct.cpp
+++ b/src/theory/quantifiers/sygus/sygus_abduct.cpp
@@ -123,7 +123,7 @@ Node SygusAbduct::mkAbductionConjecture(const std::string& name,
abvl = agtsd.getSygusVarList();
Assert(!abvl.isNull() && abvl.getKind() == BOUND_VAR_LIST);
}
- else
+ else if (!varlist.empty())
{
// the bound variable list of the abduct-to-synthesize is determined by
// the variable list above
@@ -166,8 +166,11 @@ Node SygusAbduct::mkAbductionConjecture(const std::string& name,
aconj = aconj.substitute(syms.begin(), syms.end(), vars.begin(), vars.end());
Trace("sygus-abduct") << "---> Assumptions: " << aconj << std::endl;
Node sc = nm->mkNode(AND, aconj, abdApp);
- Node vbvl = nm->mkNode(BOUND_VAR_LIST, vars);
- sc = nm->mkNode(EXISTS, vbvl, sc);
+ if (!vars.empty())
+ {
+ Node vbvl = nm->mkNode(BOUND_VAR_LIST, vars);
+ sc = nm->mkNode(EXISTS, vbvl, sc);
+ }
Node sygusScVar = sm->mkDummySkolem("sygus_sc", nm->booleanType());
sygusScVar.setAttribute(theory::SygusSideConditionAttribute(), sc);
Node instAttr = nm->mkNode(INST_ATTRIBUTE, sygusScVar);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback