3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-03 01:40:22 +00:00

user propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-08-20 10:39:20 -07:00
parent ba4a218fc0
commit eef05e00af
3 changed files with 14 additions and 11 deletions

View file

@ -468,7 +468,14 @@ namespace smt {
enode* n = get_enode(v);
if (ctx.watches_fixed(n)) {
expr_ref num(m_util.mk_numeral(val, m.get_sort(n->get_owner())), m);
ctx.assign_fixed(n, num, m_bits[v]);
literal_vector& lits = m_tmp_literals;
lits.reset();
for (literal b : m_bits[v]) {
if (ctx.get_assignment(b) == l_false)
b.neg();
lits.push_back(b);
}
ctx.assign_fixed(n, num, lits);
}
unsigned sz = get_bv_size(v);
value_sort_pair key(val, sz);