mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 12:08:18 +00:00
parent
63467f9dfa
commit
5ba06f4e28
|
@ -1177,7 +1177,7 @@ class term_graph::projector {
|
|||
}
|
||||
|
||||
void lits2pure(expr_ref_vector &res) {
|
||||
expr *e1 = nullptr, *e2 = nullptr, *p1 = nullptr, *p2 = nullptr;
|
||||
expr *e1 = nullptr, *e2 = nullptr, *e = nullptr, *p1 = nullptr, *p2 = nullptr;
|
||||
for (auto *lit : m_tg.m_lits) {
|
||||
if (m.is_eq(lit, e1, e2)) {
|
||||
if (find_app(e1, p1) && find_app(e2, p2)) {
|
||||
|
@ -1186,6 +1186,13 @@ class term_graph::projector {
|
|||
else
|
||||
TRACE("qe", tout << "skipping " << mk_pp(lit, m) << "\n";);
|
||||
}
|
||||
else if (m.is_not(lit, e) && m.is_eq(e, e1, e2)) {
|
||||
if (find_app(e1, p1) && find_app(e2, p2)) {
|
||||
res.push_back(mk_neq(m, p1, p2));
|
||||
}
|
||||
else
|
||||
TRACE("qe", tout << "skipping " << mk_pp(lit, m) << "\n";);
|
||||
}
|
||||
else if (m.is_distinct(lit)) {
|
||||
ptr_buffer<expr> diff;
|
||||
for (expr *arg : *to_app(lit))
|
||||
|
|
Loading…
Reference in a new issue