3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-02 21:37:02 +00:00

minor fixes

- ensure mk_extract performs simplification to distribute over extract and removing extract if the range is the entire bit-vector
- ensure bool_rewriter simplifeis disjunctions when applicable.
This commit is contained in:
Nikolaj Bjorner 2022-11-02 08:44:55 -07:00
parent 9fc4015c46
commit 1646a41b2f
9 changed files with 24 additions and 18 deletions

View file

@ -1141,9 +1141,6 @@ public:
};
tactic * mk_solve_eqs_tactic(ast_manager & m, params_ref const & p, expr_replacer * r) {
if (r == nullptr)
return clean(alloc(solve_eqs_tactic, m, p, mk_expr_simp_replacer(m, p), true));
else
return clean(alloc(solve_eqs_tactic, m, p, r, false));
tactic * mk_solve_eqs_tactic(ast_manager & m, params_ref const & p) {
return clean(alloc(solve_eqs_tactic, m, p, mk_expr_simp_replacer(m, p), true));
}

View file

@ -21,9 +21,8 @@ Revision History:
#include "util/params.h"
class ast_manager;
class tactic;
class expr_replacer;
tactic * mk_solve_eqs_tactic(ast_manager & m, params_ref const & p = params_ref(), expr_replacer * r = nullptr);
tactic * mk_solve_eqs_tactic(ast_manager & m, params_ref const & p = params_ref());
/*
ADD_TACTIC("solve-eqs", "eliminate variables by solving equations.", "mk_solve_eqs_tactic(m, p)")

View file

@ -25,6 +25,7 @@ Notes:
#include "ast/rewriter/expr_replacer.h"
#include "ast/rewriter/rewriter_def.h"
#include "ast/ast_pp.h"
#include "ast/ast_util.h"
class symmetry_reduce_tactic : public tactic {
class imp;
@ -608,12 +609,12 @@ private:
return (j == A.size())?0:A[j];
}
app* mk_member(app* t, term_set const& C) {
expr* mk_member(app* t, term_set const& C) {
expr_ref_vector eqs(m());
for (unsigned i = 0; i < C.size(); ++i) {
eqs.push_back(m().mk_eq(t, C[i]));
}
return m().mk_or(eqs.size(), eqs.data());
return mk_or(m(), eqs.size(), eqs.data());
}
};