3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-03 11:25:40 +00:00

add some code review comments, stubs for ule

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-04-16 12:43:23 -07:00
parent 9df7e9a029
commit 572197aede
6 changed files with 15 additions and 16 deletions

View file

@ -5,10 +5,6 @@ Module Name:
polysat constraints polysat constraints
Abstract:
Polynomial constriants
Author: Author:
Nikolaj Bjorner (nbjorner) 2021-03-19 Nikolaj Bjorner (nbjorner) 2021-03-19

View file

@ -105,6 +105,13 @@ namespace polysat {
} }
void eq_constraint::narrow(solver& s) { void eq_constraint::narrow(solver& s) {
// NSB code review:
// This should also use the current assignment so be similar to propagate.
// The idea is that narrow is invoked when the constraint is first added
// and also when the constraint is used in a conflict.
// When it is used in a conflict, there could be a partial assignment in s.m_search
// that fixes variables in p().
//
(void)try_narrow_with(p(), s); (void)try_narrow_with(p(), s);
} }

View file

@ -3,15 +3,12 @@ Copyright (c) 2021 Microsoft Corporation
Module Name: Module Name:
polysat constraints polysat equality constraints
Abstract:
Polynomial equality constriants
Author: Author:
Nikolaj Bjorner (nbjorner) 2021-03-19 Nikolaj Bjorner (nbjorner) 2021-03-19
Jakob Rath 2021-04-6
--*/ --*/
#pragma once #pragma once

View file

@ -495,8 +495,10 @@ namespace polysat {
backjump(m_justification[v].level()-1); backjump(m_justification[v].level()-1);
for (unsigned i = m_cjust[v].size(); i < just.size(); ++i) for (unsigned i = m_cjust[v].size(); i < just.size(); ++i)
push_cjust(v, just[i]); push_cjust(v, just[i]);
for (constraint* c : m_conflict) for (constraint* c : m_conflict) {
push_cjust(v, c); push_cjust(v, c);
c->narrow(*this);
}
m_conflict.reset(); m_conflict.reset();
push_viable(v); push_viable(v);
m_viable[v] = viable; m_viable[v] = viable;

View file

@ -3,7 +3,7 @@ Copyright (c) 2021 Microsoft Corporation
Module Name: Module Name:
polysat ule_constraints polysat unsigned <= constraints
Author: Author:

View file

@ -3,15 +3,12 @@ Copyright (c) 2021 Microsoft Corporation
Module Name: Module Name:
polysat constraints polysat unsigned <= constraint
Abstract:
Polynomial equality constriants
Author: Author:
Nikolaj Bjorner (nbjorner) 2021-03-19 Nikolaj Bjorner (nbjorner) 2021-03-19
Jakob Rath 2021-04-6
--*/ --*/
#pragma once #pragma once