mirror of
https://github.com/Z3Prover/z3
synced 2025-10-07 16:31:55 +00:00
fix bug in consequence extraction: the order of bcp is not fixed between restarts, so the order of unit literals may not be preserved. This is relatively rare, so we optimize for the case where we assume bcp preserves order (and maybe miss some consequences)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
dc543a7ee7
commit
873d975c77
2 changed files with 27 additions and 7 deletions
|
@ -439,7 +439,9 @@ namespace sat {
|
|||
u_map<index_set> m_antecedents;
|
||||
vector<literal_vector> m_binary_clause_graph;
|
||||
|
||||
void extract_assumptions(literal lit, index_set& s);
|
||||
bool extract_assumptions(literal lit, index_set& s);
|
||||
|
||||
bool check_domain(literal lit, literal lit2);
|
||||
|
||||
std::ostream& display_index_set(std::ostream& out, index_set const& s) const;
|
||||
|
||||
|
@ -451,7 +453,7 @@ namespace sat {
|
|||
|
||||
void extract_fixed_consequences(unsigned& start, literal_set const& assumptions, bool_var_set& unfixed, vector<literal_vector>& conseq);
|
||||
|
||||
void extract_fixed_consequences(literal lit, literal_set const& assumptions, bool_var_set& unfixed, vector<literal_vector>& conseq);
|
||||
bool extract_fixed_consequences(literal lit, literal_set const& assumptions, bool_var_set& unfixed, vector<literal_vector>& conseq);
|
||||
|
||||
void update_unfixed_literals(literal_set& unfixed_lits, bool_var_set& unfixed_vars);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue