diff options
author | Morgan Deters <mdeters@cs.nyu.edu> | 2013-02-12 23:04:53 -0500 |
---|---|---|
committer | Morgan Deters <mdeters@cs.nyu.edu> | 2013-02-12 23:04:53 -0500 |
commit | e9d8ae34db4c4a8161cc1abdfb225c3e9e2bd9ee (patch) | |
tree | bf60d8f3f27f3c08bf47b01ab72895794d819e4f /src/smt/smt_engine.cpp | |
parent | 3162008b628174bd8bce70b336ce928e88ae07c6 (diff) |
Fix a preprocessing performance issue.
Diffstat (limited to 'src/smt/smt_engine.cpp')
-rw-r--r-- | src/smt/smt_engine.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp index 2ba1ae7a9..ca65ab1df 100644 --- a/src/smt/smt_engine.cpp +++ b/src/smt/smt_engine.cpp @@ -1753,6 +1753,17 @@ bool SmtEnginePrivate::nonClausalSimplify() { // Resize the learnt d_nonClausalLearnedLiterals.resize(j); + //must add substitutions to model + TheoryModel* m = d_smt.d_theoryEngine->getModel(); + if(m != NULL) { + for( SubstitutionMap::iterator pos = d_topLevelSubstitutions.begin(); pos != d_topLevelSubstitutions.end(); ++pos) { + Node n = (*pos).first; + Node v = (*pos).second; + Trace("model") << "Add substitution : " << n << " " << v << std::endl; + m->addSubstitution( n, v ); + } + } + hash_set<TNode, TNodeHashFunction> s; for (unsigned i = 0; i < d_assertionsToPreprocess.size(); ++ i) { Node assertion = d_assertionsToPreprocess[i]; |