mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 10:25:18 +00:00
parent
6366f8f6b2
commit
33c35b0c31
|
@ -30,13 +30,12 @@ struct factorization_factory;
|
|||
enum class factor_type { VAR, MON };
|
||||
|
||||
class factor {
|
||||
lpvar m_var{ UINT_MAX };
|
||||
factor_type m_type{ factor_type::VAR };
|
||||
bool m_sign{ false };
|
||||
lpvar m_var = UINT_MAX;
|
||||
factor_type m_type = factor_type::VAR;
|
||||
bool m_sign = false;
|
||||
public:
|
||||
factor(): factor(false) {}
|
||||
explicit factor(lpvar var): m_var(var), m_type(factor_type::VAR), m_sign(false) {}
|
||||
explicit factor(lpvar v, factor_type t) : m_var(v), m_type(t), m_sign(false) {}
|
||||
factor() { }
|
||||
explicit factor(lpvar v, factor_type t) : m_var(v), m_type(t) {}
|
||||
unsigned var() const { return m_var; }
|
||||
factor_type type() const { return m_type; }
|
||||
void set(lpvar v, factor_type t) { m_var = v; m_type = t; }
|
||||
|
|
|
@ -116,7 +116,7 @@ void order::order_lemma_on_factor_binomial_rm(const monic& ac, bool k, const mon
|
|||
tout << "bd=" << pp_mon_with_vars(_(), bd) << "\n";
|
||||
);
|
||||
factor d(_().m_evars.find(ac.vars()[k]).var(), factor_type::VAR);
|
||||
factor b(false);
|
||||
factor b;
|
||||
if (c().divide(bd, d, b)) {
|
||||
order_lemma_on_binomial_ac_bd(ac, k, bd, b, d.var());
|
||||
}
|
||||
|
@ -192,7 +192,7 @@ bool order::order_lemma_on_ac_and_bc(const monic& rm_ac,
|
|||
tout << "rm_bd = " << pp_mon_with_vars(_(), rm_bd) << "\n";
|
||||
tout << "ac_f[k] = ";
|
||||
c().print_factor_with_vars(ac_f[k], tout););
|
||||
factor b(false);
|
||||
factor b;
|
||||
return
|
||||
c().divide(rm_bd, ac_f[k], b) &&
|
||||
order_lemma_on_ac_and_bc_and_factors(rm_ac, ac_f[!k], ac_f[k], rm_bd, b);
|
||||
|
|
|
@ -444,7 +444,7 @@ struct purify_arith_proc {
|
|||
expr * x = args[0];
|
||||
bool is_int = u().is_int(x);
|
||||
|
||||
expr * k = mk_fresh_var(is_int);
|
||||
expr * k = mk_fresh_var(false);
|
||||
result = k;
|
||||
mk_def_proof(k, t, result_pr);
|
||||
cache_result(t, result, result_pr);
|
||||
|
@ -454,7 +454,7 @@ struct purify_arith_proc {
|
|||
if (y.is_zero()) {
|
||||
expr* p0;
|
||||
if (is_int) {
|
||||
if (!m_ipower0) m_ipower0 = mk_fresh_var(true);
|
||||
if (!m_ipower0) m_ipower0 = mk_fresh_var(false);
|
||||
p0 = m_ipower0;
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Reference in a new issue