diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2018-05-30 15:34:05 -0500 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2018-05-30 13:34:05 -0700 |
commit | eb733c1a2c806b34abcdf0d8497fa579f2b1e66e (patch) | |
tree | a67b50d23afa90f8f8b47f7bbb8ad70b310a4fc1 /src/theory/quantifiers/theory_quantifiers.cpp | |
parent | 551a914cf9c09353712089bb0d7ad33b56adcc3f (diff) |
Fixes for quantifiers + incremental (#2009)
Diffstat (limited to 'src/theory/quantifiers/theory_quantifiers.cpp')
-rw-r--r-- | src/theory/quantifiers/theory_quantifiers.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/theory/quantifiers/theory_quantifiers.cpp b/src/theory/quantifiers/theory_quantifiers.cpp index 5016bd87f..79b7d9a99 100644 --- a/src/theory/quantifiers/theory_quantifiers.cpp +++ b/src/theory/quantifiers/theory_quantifiers.cpp @@ -83,13 +83,23 @@ void TheoryQuantifiers::finishInit() } void TheoryQuantifiers::preRegisterTerm(TNode n) { + if (n.getKind() != FORALL) + { + return; + } Debug("quantifiers-prereg") << "TheoryQuantifiers::preRegisterTerm() " << n << endl; - if( n.getKind()==FORALL ){ - if( !options::cbqi() || options::recurseCbqi() || !TermUtil::hasInstConstAttr(n) ){ - getQuantifiersEngine()->registerQuantifier( n ); - Debug("quantifiers-prereg") << "TheoryQuantifiers::preRegisterTerm() done " << n << endl; - } + if (options::cbqi() && !options::recurseCbqi() + && TermUtil::hasInstConstAttr(n)) + { + Debug("quantifiers-prereg") + << "TheoryQuantifiers::preRegisterTerm() done, unused " << n << endl; + return; } + // Preregister the quantified formula. + // This initializes the modules used for handling n in this user context. + getQuantifiersEngine()->preRegisterQuantifier(n); + Debug("quantifiers-prereg") + << "TheoryQuantifiers::preRegisterTerm() done " << n << endl; } |