mirror of
https://github.com/Z3Prover/z3
synced 2025-08-24 03:57:51 +00:00
build fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
10f734357e
commit
eb6b2813ff
6 changed files with 34 additions and 6 deletions
|
@ -25,6 +25,7 @@ Notes:
|
|||
void arith_rewriter::updt_local_params(params_ref const & _p) {
|
||||
arith_rewriter_params p(_p);
|
||||
m_arith_lhs = p.arith_lhs();
|
||||
m_arith_ineq_lhs = p.arith_ineq_lhs;
|
||||
m_gcd_rounding = p.gcd_rounding();
|
||||
m_elim_to_real = p.elim_to_real();
|
||||
m_push_to_real = p.push_to_real();
|
||||
|
@ -370,7 +371,7 @@ br_status arith_rewriter::mk_le_ge_eq_core(expr * arg1, expr * arg2, op_kind kin
|
|||
if ((is_zero(arg1) && is_reduce_power_target(arg2, kind == EQ)) ||
|
||||
(is_zero(arg2) && is_reduce_power_target(arg1, kind == EQ)))
|
||||
return reduce_power(arg1, arg2, kind, result);
|
||||
br_status st = cancel_monomials(arg1, arg2, true, new_arg1, new_arg2);
|
||||
br_status st = cancel_monomials(arg1, arg2, m_arith_ineq_lhs || m_arith_lhs, new_arg1, new_arg2);
|
||||
TRACE("mk_le_bug", tout << "st: " << st << " " << new_arg1 << " " << new_arg2 << "\n";);
|
||||
if (st != BR_FAILED) {
|
||||
arg1 = new_arg1;
|
||||
|
|
|
@ -49,6 +49,7 @@ public:
|
|||
|
||||
class arith_rewriter : public poly_rewriter<arith_rewriter_core> {
|
||||
bool m_arith_lhs;
|
||||
bool m_arith_ineq_lhs;
|
||||
bool m_gcd_rounding;
|
||||
bool m_elim_to_real;
|
||||
bool m_push_to_real;
|
||||
|
|
|
@ -9,6 +9,7 @@ def_module_params(module_name='rewriter',
|
|||
("sort_sums", BOOL, False, "sort the arguments of + application."),
|
||||
("gcd_rounding", BOOL, False, "use gcd rounding on integer arithmetic atoms."),
|
||||
("arith_lhs", BOOL, False, "all monomials are moved to the left-hand-side, and the right-hand-side is just a constant."),
|
||||
("arith_ineq_lhs", BOOL, False, "rewrite inequalities so that right-hand-side is a constant."),
|
||||
("elim_to_real", BOOL, False, "eliminate to_real from arithmetic predicates that contain only integers."),
|
||||
("push_to_real", BOOL, True, "distribute to_real over * and +."),
|
||||
("expand_eqs", BOOL, False, "expand equalities into two inequalities"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue