From: Clark Barrett Date: Thu, 11 Apr 2013 16:47:47 +0000 (-0400) Subject: Improved speed of no redundant lemma assertion by using hash set X-Git-Tag: cvc5-1.0.0~7323 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5074826887fc34423a9179eec85813a245709f11;p=cvc5.git Improved speed of no redundant lemma assertion by using hash set --- diff --git a/src/theory/arrays/theory_arrays.cpp b/src/theory/arrays/theory_arrays.cpp index 97e8a0faa..801893107 100644 --- a/src/theory/arrays/theory_arrays.cpp +++ b/src/theory/arrays/theory_arrays.cpp @@ -1296,11 +1296,8 @@ void TheoryArrays::checkModel(Effort e) Debug("arrays-model-based") << "Sending lemma: " << d_lemmas.back() << endl; d_out->lemma(d_lemmas.back()); #ifdef CVC4_ASSERTIONS - context::CDList::const_iterator it = d_lemmasSaved.begin(), it_end = d_lemmasSaved.end(); - for (; it != it_end; ++it) { - Assert((*it) != d_lemmas.back()); - } - d_lemmasSaved.push_back(d_lemmas.back()); + Assert(d_lemmasSaved.find(d_lemmas.back()) == d_lemmasSaved.end()); + d_lemmasSaved.insert(d_lemmas.back()); #endif d_lemmas.pop_back(); } diff --git a/src/theory/arrays/theory_arrays.h b/src/theory/arrays/theory_arrays.h index 2a0083823..e0191ccc9 100644 --- a/src/theory/arrays/theory_arrays.h +++ b/src/theory/arrays/theory_arrays.h @@ -358,7 +358,7 @@ class TheoryArrays : public Theory { // List of nodes that need permanent references in this context context::CDList d_permRef; context::CDList d_modelConstraints; - context::CDList d_lemmasSaved; + context::CDHashSet d_lemmasSaved; std::vector d_lemmas; Node getSkolem(TNode ref, const std::string& name, const TypeNode& type, const std::string& comment, bool makeEqual = true);