mirror of
https://github.com/Z3Prover/z3
synced 2025-08-17 08:42:15 +00:00
parent
6366f8f6b2
commit
33c35b0c31
3 changed files with 9 additions and 10 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue