summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-09-25 22:50:20 -0500
committerGitHub <noreply@github.com>2018-09-25 22:50:20 -0500
commitd6fa6bb3fbe4d81d90d76140b6a4b210b36e91d7 (patch)
tree7e1a6d78145f5d430c8cb7d024feb29e652b22e8
parentd99fd71ff090bcab3d4569a7f30458a6b0f573fe (diff)
Eagerly ensure literal on active guards for sygus enumerators (#2531)
-rw-r--r--src/theory/quantifiers/sygus/term_database_sygus.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/theory/quantifiers/sygus/term_database_sygus.cpp b/src/theory/quantifiers/sygus/term_database_sygus.cpp
index a10ecc566..18e9619cb 100644
--- a/src/theory/quantifiers/sygus/term_database_sygus.cpp
+++ b/src/theory/quantifiers/sygus/term_database_sygus.cpp
@@ -482,7 +482,10 @@ void TermDbSygus::registerEnumerator(Node e,
NodeManager* nm = NodeManager::currentNM();
if( mkActiveGuard ){
// make the guard
- d_enum_to_active_guard[e] = nm->mkSkolem("eG", nm->booleanType());
+ Node ag = nm->mkSkolem("eG", nm->booleanType());
+ // must ensure it is a literal immediately here
+ ag = d_quantEngine->getValuation().ensureLiteral(ag);
+ d_enum_to_active_guard[e] = ag;
}
Trace("sygus-db") << " registering symmetry breaking clauses..."
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback