mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 09:35:32 +00:00
axiom solver improvements
This commit is contained in:
parent
79f0ceac4c
commit
aa901c4e88
8 changed files with 98 additions and 75 deletions
|
@ -145,11 +145,13 @@ class elim_small_bv_tactic : public tactic {
|
|||
"; sort = " << mk_ismt2_pp(s, m) <<
|
||||
"; body = " << mk_ismt2_pp(body, m) << std::endl;);
|
||||
|
||||
if (bv_sz >= 31ul || ((unsigned)(1ul << bv_sz)) + num_steps > m_max_steps) {
|
||||
if (bv_sz >= 31)
|
||||
return false;
|
||||
unsigned max_num = 1u << bv_sz;
|
||||
if (max_num > m_max_steps || max_num + num_steps > m_max_steps)
|
||||
return false;
|
||||
}
|
||||
|
||||
for (unsigned j = 0; j < (1ul << bv_sz) && !max_steps_exceeded(num_steps); j++) {
|
||||
for (unsigned j = 0; j < max_num && !max_steps_exceeded(num_steps); j++) {
|
||||
expr_ref n(m_util.mk_numeral(j, bv_sz), m);
|
||||
new_bodies.push_back(replace_var(uv, num_decls, max_var_idx_p1, i, s, body, n));
|
||||
num_steps++;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue