From 7b3a587505349959b90795dd81eb917ee0b6962d Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Tue, 18 May 2021 18:04:03 -0700 Subject: [PATCH] fix #5225 --- src/smt/smt_consequences.cpp | 2 +- src/smt/smt_relevancy.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/smt/smt_consequences.cpp b/src/smt/smt_consequences.cpp index 6b61bec62..b54e92a70 100644 --- a/src/smt/smt_consequences.cpp +++ b/src/smt/smt_consequences.cpp @@ -385,10 +385,10 @@ namespace smt { expr* e = kv.m_key; expr* val = kv.m_value; literal lit = mk_diseq(e, val); - mark_as_relevant(lit); if (get_assignment(lit) != l_undef) { continue; } + mark_as_relevant(lit); ++num_vars; push_scope(); assign(lit, b_justification::mk_axiom(), true); diff --git a/src/smt/smt_relevancy.cpp b/src/smt/smt_relevancy.cpp index 5bc7bf9d2..6d20072cb 100644 --- a/src/smt/smt_relevancy.cpp +++ b/src/smt/smt_relevancy.cpp @@ -333,7 +333,8 @@ namespace smt { if (e != nullptr) { enode * curr = e; do { - set_relevant(curr->get_expr()); + if (!is_relevant_core(curr->get_expr())) + set_relevant(curr->get_expr()); curr = curr->get_next(); } while (curr != e);