diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2018-09-25 22:50:20 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-25 22:50:20 -0500 |
commit | d6fa6bb3fbe4d81d90d76140b6a4b210b36e91d7 (patch) | |
tree | 7e1a6d78145f5d430c8cb7d024feb29e652b22e8 | |
parent | d99fd71ff090bcab3d4569a7f30458a6b0f573fe (diff) |
Eagerly ensure literal on active guards for sygus enumerators (#2531)
-rw-r--r-- | src/theory/quantifiers/sygus/term_database_sygus.cpp | 5 |
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..." |