3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-19 10:52:02 +00:00

fix for SPACER models using bit2bool

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-06-16 10:45:11 -07:00
parent 48d4d8d7af
commit be36a8fd80

View file

@ -123,13 +123,11 @@ namespace smt {
unsigned idx = n->get_decl()->get_parameter(0).get_int(); unsigned idx = n->get_decl()->get_parameter(0).get_int();
SASSERT(a->m_occs == 0); SASSERT(a->m_occs == 0);
a->m_occs = new (get_region()) var_pos_occ(v_arg, idx); a->m_occs = new (get_region()) var_pos_occ(v_arg, idx);
#if 0 // Fix for #2182, and SPACER bit-vector
// possible fix for #2182, but effect of fix needs to be checked.
if (idx < m_bits[v_arg].size()) { if (idx < m_bits[v_arg].size()) {
ctx.mk_th_axiom(get_id(), m_bits[v_arg][idx], literal(bv, true)); ctx.mk_th_axiom(get_id(), m_bits[v_arg][idx], literal(bv, true));
ctx.mk_th_axiom(get_id(), ~m_bits[v_arg][idx], literal(bv, false)); ctx.mk_th_axiom(get_id(), ~m_bits[v_arg][idx], literal(bv, false));
} }
#endif
} }
// axiomatize bit2bool on constants. // axiomatize bit2bool on constants.
rational val; rational val;