d_decisionRequests(c),
d_permRef(c),
d_modelConstraints(c),
+ d_lemmasSaved(c),
d_inCheckModel(false)
{
StatisticsRegistry::registerStat(&d_numRow);
while (!d_lemmas.empty()) {
Debug("arrays-model-based") << "Sending lemma: " << d_lemmas.back() << endl;
d_out->lemma(d_lemmas.back());
+#ifdef CVC4_ASSERTIONS
+ context::CDList<Node>::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());
+#endif
d_lemmas.pop_back();
}
Assert(getSatContext()->getLevel() == d_topLevel);
// List of nodes that need permanent references in this context
context::CDList<Node> d_permRef;
context::CDList<Node> d_modelConstraints;
+ context::CDList<Node> d_lemmasSaved;
std::vector<Node> d_lemmas;
Node getSkolem(TNode ref, const std::string& name, const TypeNode& type, const std::string& comment, bool makeEqual = true);