mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 03:45:51 +00:00
rename monomial to monic
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
cc5a12c5c7
commit
a0bdb8135d
30 changed files with 481 additions and 479 deletions
|
@ -30,59 +30,59 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
bool order_lemma_on_ac_and_bc_and_factors(const monomial& ac,
|
||||
bool order_lemma_on_ac_and_bc_and_factors(const monic& ac,
|
||||
const factor& a,
|
||||
const factor& c,
|
||||
const monomial& bc,
|
||||
const monic& bc,
|
||||
const factor& b);
|
||||
|
||||
// a >< b && c > 0 => ac >< bc
|
||||
// a >< b && c < 0 => ac <> bc
|
||||
// ac[k] plays the role of c
|
||||
bool order_lemma_on_ac_and_bc(const monomial& rm_ac,
|
||||
bool order_lemma_on_ac_and_bc(const monic& rm_ac,
|
||||
const factorization& ac_f,
|
||||
bool k,
|
||||
const monomial& rm_bd);
|
||||
const monic& rm_bd);
|
||||
|
||||
bool order_lemma_on_ac_explore(const monomial& rm, const factorization& ac, bool k);
|
||||
bool order_lemma_on_ac_explore(const monic& rm, const factorization& ac, bool k);
|
||||
|
||||
void order_lemma_on_factorization(const monomial& rm, const factorization& ab);
|
||||
void order_lemma_on_factorization(const monic& rm, const factorization& ab);
|
||||
|
||||
/**
|
||||
\brief Add lemma:
|
||||
a > 0 & b <= value(b) => sign*ab <= value(b)*a if value(a) > 0
|
||||
a < 0 & b >= value(b) => sign*ab <= value(b)*a if value(a) < 0
|
||||
*/
|
||||
void order_lemma_on_ab_gt(const monomial& m, const rational& sign, lpvar a, lpvar b);
|
||||
void order_lemma_on_ab_gt(const monic& m, const rational& sign, lpvar a, lpvar b);
|
||||
// we need to deduce ab >= val(b)*a
|
||||
/**
|
||||
\brief Add lemma:
|
||||
a > 0 & b >= value(b) => sign*ab >= value(b)*a if value(a) > 0
|
||||
a < 0 & b <= value(b) => sign*ab >= value(b)*a if value(a) < 0
|
||||
*/
|
||||
void order_lemma_on_ab_lt(const monomial& m, const rational& sign, lpvar a, lpvar b);
|
||||
void order_lemma_on_ab(const monomial& m, const rational& sign, lpvar a, lpvar b, bool gt);
|
||||
void order_lemma_on_factor_binomial_explore(const monomial& m, bool k);
|
||||
void order_lemma_on_factor_binomial_rm(const monomial& ac, bool k, const monomial& bd);
|
||||
void order_lemma_on_binomial_ac_bd(const monomial& ac, bool k, const monomial& bd, const factor& b, lpvar d);
|
||||
void order_lemma_on_binomial_sign(const monomial& ac, lpvar x, lpvar y, int sign);
|
||||
void order_lemma_on_binomial(const monomial& ac);
|
||||
void order_lemma_on_monomial(const monomial& rm);
|
||||
void order_lemma_on_ab_lt(const monic& m, const rational& sign, lpvar a, lpvar b);
|
||||
void order_lemma_on_ab(const monic& m, const rational& sign, lpvar a, lpvar b, bool gt);
|
||||
void order_lemma_on_factor_binomial_explore(const monic& m, bool k);
|
||||
void order_lemma_on_factor_binomial_rm(const monic& ac, bool k, const monic& bd);
|
||||
void order_lemma_on_binomial_ac_bd(const monic& ac, bool k, const monic& bd, const factor& b, lpvar d);
|
||||
void order_lemma_on_binomial_sign(const monic& ac, lpvar x, lpvar y, int sign);
|
||||
void order_lemma_on_binomial(const monic& ac);
|
||||
void order_lemma_on_monic(const monic& rm);
|
||||
// |c_sign| = 1, and c*c_sign > 0
|
||||
// ac > bc => ac/|c| > bc/|c| => a*c_sign > b*c_sign
|
||||
void generate_ol(const monomial& ac,
|
||||
void generate_ol(const monic& ac,
|
||||
const factor& a,
|
||||
int c_sign,
|
||||
const factor& c,
|
||||
const monomial& bc,
|
||||
const monic& bc,
|
||||
const factor& b,
|
||||
llc ab_cmp);
|
||||
|
||||
void generate_mon_ol(const monomial& ac,
|
||||
void generate_mon_ol(const monic& ac,
|
||||
lpvar a,
|
||||
const rational& c_sign,
|
||||
lpvar c,
|
||||
const monomial& bd,
|
||||
const monic& bd,
|
||||
const factor& b,
|
||||
const rational& d_sign,
|
||||
lpvar d,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue