3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-02 17:30:23 +00:00

filter out empty lemmas from nla_solver on consumption

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-06-25 07:03:01 -07:00 committed by Lev Nachmanson
parent 4e33b44d27
commit 20fb830682
3 changed files with 66 additions and 6 deletions

View file

@ -178,6 +178,9 @@ class theory_lra::imp {
// integer arithmetic
scoped_ptr<lp::int_solver> m_lia;
// temporary lemma storage
nla::lemma m_lemma;
struct var_value_eq {
imp & m_th;
@ -1962,8 +1965,6 @@ public:
return FC_DONE;
}
nla::lemma m_lemma;
literal mk_literal(nla::ineq const& ineq) {
bool is_lower = true, pos = true, is_eq = false;
switch (ineq.cmp()) {
@ -2010,6 +2011,7 @@ public:
m_lemma = l; //todo avoid the copy
m_explanation = l.expl();
literal_vector core;
SASSERT(!m_lemma.is_empty());
for (auto const& ineq : m_lemma.ineqs()) {
auto lit = mk_literal(ineq);
core.push_back(~lit);