mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 19:35:50 +00:00
fix incorrect bound in order-lemma
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
23c12b75af
commit
5ee9edf46b
6 changed files with 34 additions and 28 deletions
|
@ -311,6 +311,7 @@ namespace dd {
|
|||
unsigned v = m_level2var[m_levelp1-1];
|
||||
equation* eq = nullptr;
|
||||
for (equation* curr : m_to_simplify) {
|
||||
SASSERT(curr->idx() != UINT_MAX);
|
||||
pdd const& p = curr->poly();
|
||||
if (curr->state() == to_simplify && p.var() == v) {
|
||||
if (!eq || is_simpler(*curr, *eq))
|
||||
|
@ -389,6 +390,16 @@ namespace dd {
|
|||
retire(eq);
|
||||
}
|
||||
|
||||
void solver::retire(equation* eq) {
|
||||
#if 0
|
||||
// way to check if retired equations are ever accessed.
|
||||
eq->set_index(UINT_MAX);
|
||||
#else
|
||||
dealloc(eq);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void solver::pop_equation(equation& eq) {
|
||||
equation_vector& v = get_queue(eq);
|
||||
unsigned idx = eq.idx();
|
||||
|
|
|
@ -181,7 +181,7 @@ private:
|
|||
void del_equation(equation& eq) { del_equation(&eq); }
|
||||
void del_equation(equation* eq);
|
||||
equation_vector& get_queue(equation const& eq);
|
||||
void retire(equation* eq) { dealloc(eq); }
|
||||
void retire(equation* eq);
|
||||
void pop_equation(equation& eq);
|
||||
void pop_equation(equation* eq) { pop_equation(*eq); }
|
||||
void push_equation(eq_state st, equation& eq);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue