summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/sygus/cegis_unif.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/quantifiers/sygus/cegis_unif.cpp')
-rw-r--r--src/theory/quantifiers/sygus/cegis_unif.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/theory/quantifiers/sygus/cegis_unif.cpp b/src/theory/quantifiers/sygus/cegis_unif.cpp
index d71139eef..fc26d72f6 100644
--- a/src/theory/quantifiers/sygus/cegis_unif.cpp
+++ b/src/theory/quantifiers/sygus/cegis_unif.cpp
@@ -600,10 +600,20 @@ void CegisUnifEnumDecisionStrategy::setUpEnumerator(Node e,
}
// register the enumerator
si.d_enums[index].push_back(e);
+ bool mkActiveGuard = false;
+ bool isVarAgnostic = false;
+ // if we are using a single independent enumerator for conditions, then we
+ // allocate an active guard, and are eligible to use variable-agnostic
+ // enumeration.
+ if (options::sygusUnifCondIndependent() && index == 1)
+ {
+ mkActiveGuard = true;
+ isVarAgnostic = options::sygusEnumVarAgnostic();
+ }
Trace("cegis-unif-enum") << "* Registering new enumerator " << e
<< " to strategy point " << si.d_pt << "\n";
d_tds->registerEnumerator(
- e, si.d_pt, d_parent, options::sygusUnifCondIndependent() && index == 1);
+ e, si.d_pt, d_parent, mkActiveGuard, false, isVarAgnostic);
}
void CegisUnifEnumDecisionStrategy::registerEvalPts(
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback