mirror of
https://github.com/Z3Prover/z3
synced 2025-07-18 02:16:40 +00:00
fix loop in equiv_monomials (#91)
* fix loop in equiv_monomials Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fixes Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
e6561c983f
commit
7e67e1ce99
5 changed files with 26 additions and 16 deletions
|
@ -245,13 +245,14 @@ bool basics::basic_lemma(bool derived) {
|
|||
return true;
|
||||
if (derived)
|
||||
return false;
|
||||
c().init_rm_to_refine();
|
||||
const auto& rm_ref = c().m_to_refine;
|
||||
TRACE("nla_solver", tout << "rm_ref = "; print_vector(rm_ref, tout););
|
||||
unsigned start = c().random();
|
||||
for (unsigned j = rm_ref.size(); j-- > 0; ) {
|
||||
const signed_vars& r = c().m_emons.canonical[(j + start) % rm_ref.size()];
|
||||
SASSERT (!c().check_monomial(c().m_emons[r.var()]));
|
||||
unsigned sz = rm_ref.size();
|
||||
for (unsigned j = 0; j < sz; ++j) {
|
||||
lpvar v = rm_ref[(j + start) % rm_ref.size()];
|
||||
const signed_vars& r = c().m_emons.canonical[v];
|
||||
SASSERT (!c().check_monomial(c().m_emons[v]));
|
||||
basic_lemma_for_mon(r, derived);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue