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:
parent
9fc4015c46
commit
1646a41b2f
9 changed files with 24 additions and 18 deletions
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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)")
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue