3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-07 11:41:22 +00:00

distribute concat over bvxor and bvor, #2470

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-08-07 15:14:58 -07:00
parent e950453685
commit 8579a004d0
3 changed files with 37 additions and 21 deletions

View file

@ -2015,29 +2015,16 @@ public:
}
while (m_asserted_qhead < m_asserted_atoms.size() && !ctx().inconsistent()) {
bool_var bv = m_asserted_atoms[m_asserted_qhead].m_bv;
bool is_true = m_asserted_atoms[m_asserted_qhead].m_is_true;
#if 1
bool is_true = m_asserted_atoms[m_asserted_qhead].m_is_true;
m_to_check.push_back(bv);
#else
propagate_bound(bv, is_true, b);
#endif
lp_api::bound& b = *m_bool_var2bound.find(bv);
assert_bound(bv, is_true, b);
assert_bound(bv, is_true, b);
++m_asserted_qhead;
}
if (ctx().inconsistent()) {
m_to_check.reset();
return;
}
/*for (; qhead < m_asserted_atoms.size() && !ctx().inconsistent(); ++qhead) {
bool_var bv = m_asserted_atoms[qhead].m_bv;
bool is_true = m_asserted_atoms[qhead].m_is_true;
lp_api::bound& b = *m_bool_var2bound.find(bv);
propagate_bound_compound(bv, is_true, b);
}*/
lbool lbl = make_feasible();