mirror of
https://github.com/Z3Prover/z3
synced 2025-04-06 17:44:08 +00:00
fix #4836
This commit is contained in:
parent
260f759177
commit
bb24b3f2be
|
@ -409,6 +409,7 @@ public:
|
|||
return m_manager.mk_app(get_fid(), OP_EXTRACT, 2, params, 1, &n);
|
||||
}
|
||||
app * mk_concat(unsigned num, expr * const * args) { return m_manager.mk_app(get_fid(), OP_CONCAT, num, args); }
|
||||
app * mk_concat(expr_ref_vector const& es) { return m_manager.mk_app(get_fid(), OP_CONCAT, es.size(), es.c_ptr()); }
|
||||
app * mk_bv_or(unsigned num, expr * const * args) { return m_manager.mk_app(get_fid(), OP_BOR, num, args); }
|
||||
app * mk_bv_and(unsigned num, expr * const * args) { return m_manager.mk_app(get_fid(), OP_BAND, num, args); }
|
||||
app * mk_bv_xor(unsigned num, expr * const * args) { return m_manager.mk_app(get_fid(), OP_BXOR, num, args); }
|
||||
|
|
|
@ -1252,8 +1252,11 @@ namespace smt {
|
|||
TRACE("bv_bit_prop", tout << "propagating #" << get_enode(v2)->get_owner_id() << "[" << idx << "] = " << val2 << "\n";);
|
||||
TRACE("bv", tout << bit << " -> " << bit2 << " " << val << " -> " << val2 << " " << ctx.get_scope_level() << "\n";);
|
||||
|
||||
SASSERT(bit != ~bit2);
|
||||
|
||||
if (bit == ~bit2) {
|
||||
add_new_diseq_axiom(v, v2, idx);
|
||||
return;
|
||||
}
|
||||
|
||||
if (val != val2) {
|
||||
literal consequent = bit2;
|
||||
if (val == l_false) {
|
||||
|
|
Loading…
Reference in a new issue