mirror of
https://github.com/Z3Prover/z3
synced 2025-08-21 10:41:35 +00:00
fix missing propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
05d61ed090
commit
ff637a3989
4 changed files with 23 additions and 0 deletions
|
@ -369,6 +369,9 @@ namespace polysat {
|
|||
s.set_conflict(deps, "non-viable assignment");
|
||||
return;
|
||||
}
|
||||
s.propagate_eq(v, value, dep);
|
||||
if (s.inconsistent())
|
||||
return;
|
||||
m_values[v] = value;
|
||||
m_justification[v] = dep;
|
||||
m_assignment.push(v , value);
|
||||
|
|
|
@ -141,6 +141,7 @@ namespace polysat {
|
|||
virtual void set_conflict(dependency_vector const& core, char const* hint) = 0;
|
||||
virtual dependency propagate(signed_constraint sc, dependency_vector const& deps, char const* hint) = 0;
|
||||
virtual void propagate(dependency const& d, bool sign, dependency_vector const& deps, char const* hint) = 0;
|
||||
virtual void propagate_eq(pvar v, rational const& val, dependency const& d) = 0;
|
||||
virtual trail_stack& trail() = 0;
|
||||
virtual bool inconsistent() const = 0;
|
||||
virtual void get_bitvector_suffixes(pvar v, offset_slices& out) = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue