3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 11:25:51 +00:00

rename monomial to monic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-09-17 14:31:09 -07:00
parent cc5a12c5c7
commit a0bdb8135d
30 changed files with 481 additions and 479 deletions

View file

@ -27,7 +27,7 @@ bool const_iterator_mon::get_factors(factor& k, factor& j, rational& sign) const
k.set(k_vars[0], factor_type::VAR);
} else {
unsigned i;
if (!m_ff->find_canonical_monomial_of_vars(k_vars, i)) {
if (!m_ff->find_canonical_monic_of_vars(k_vars, i)) {
return false;
}
k.set(i, factor_type::MON);
@ -37,7 +37,7 @@ bool const_iterator_mon::get_factors(factor& k, factor& j, rational& sign) const
j.set(j_vars[0], factor_type::VAR);
} else {
unsigned i;
if (!m_ff->find_canonical_monomial_of_vars(j_vars, i)) {
if (!m_ff->find_canonical_monic_of_vars(j_vars, i)) {
return false;
}
j.set(i, factor_type::MON);
@ -47,7 +47,7 @@ bool const_iterator_mon::get_factors(factor& k, factor& j, rational& sign) const
factorization const_iterator_mon::operator*() const {
if (m_full_factorization_returned == false) {
return create_full_factorization(m_ff->m_monomial);
return create_full_factorization(m_ff->m_monic);
}
factor j, k; rational sign;
if (!get_factors(j, k, sign))
@ -93,17 +93,17 @@ factorization const_iterator_mon::create_binary_factorization(factor j, factor k
factorization f(nullptr);
f.push_back(j);
f.push_back(k);
// Let m by *m_ff->m_monomial, the monomial we factorize
// Let m by *m_ff->m_monic, the monic we factorize
// We have canonize_sign(m)*m.vars() = m.rvars()
// Let s = canonize_sign(f). Then we have f[0]*f[1] = s*m.rvars()
// s*canonize_sign(m)*val(m).
// Therefore val(m) = sign*val((f[0])*val(f[1]), where sign = canonize_sign(f)*canonize_sign(m).
// We apply this sign to the first factor.
f[0].sign() ^= (m_ff->canonize_sign(f)^m_ff->canonize_sign(*m_ff->m_monomial));
f[0].sign() ^= (m_ff->canonize_sign(f)^m_ff->canonize_sign(*m_ff->m_monic));
return f;
}
factorization const_iterator_mon::create_full_factorization(const monomial* m) const {
factorization const_iterator_mon::create_full_factorization(const monic* m) const {
if (m != nullptr)
return factorization(m);
factorization f(nullptr);