3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05:51 +00:00
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:
Nikolaj Bjorner 2023-07-13 10:47:55 -07:00
parent d0d434e4f1
commit 08599177d0
5 changed files with 23 additions and 40 deletions

View file

@ -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);