mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 20:05:51 +00:00
fix #6808
remove bv_eq_axioms as an external option to toggle. Diseqalities have to be enforced for extensionality. There are no internal code paths where the option is set to false.
This commit is contained in:
parent
d0d434e4f1
commit
08599177d0
5 changed files with 23 additions and 40 deletions
|
@ -96,8 +96,6 @@ namespace bv {
|
|||
}
|
||||
|
||||
void solver::add_fixed_eq(theory_var v1, theory_var v2) {
|
||||
if (!get_config().m_bv_eq_axioms)
|
||||
return;
|
||||
m_ackerman.used_eq_eh(v1, v2);
|
||||
}
|
||||
|
||||
|
@ -149,8 +147,6 @@ namespace bv {
|
|||
*\brief v[idx] = ~v'[idx], then v /= v' is a theory axiom.
|
||||
*/
|
||||
void solver::find_new_diseq_axioms(atom& a, theory_var v, unsigned idx) {
|
||||
if (!get_config().m_bv_eq_axioms)
|
||||
return;
|
||||
literal l = m_bits[v][idx];
|
||||
l.neg();
|
||||
for (auto vp : a) {
|
||||
|
@ -271,7 +267,7 @@ namespace bv {
|
|||
++num_undef;
|
||||
undef_idx = -static_cast<int>(i + 1);
|
||||
}
|
||||
if (num_undef > 1 && get_config().m_bv_eq_axioms)
|
||||
if (num_undef > 1)
|
||||
return;
|
||||
}
|
||||
if (num_undef == 0)
|
||||
|
@ -293,8 +289,6 @@ namespace bv {
|
|||
++m_stats.m_num_ne2bit;
|
||||
s().assign(consequent, mk_ne2bit_justification(undef_idx, v1, v2, consequent, antecedent));
|
||||
}
|
||||
else if (!get_config().m_bv_eq_axioms)
|
||||
;
|
||||
else if (s().at_search_lvl()) {
|
||||
force_push();
|
||||
assert_ackerman(v1, v2);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue