mirror of
https://github.com/Z3Prover/z3
synced 2025-06-28 08:58:44 +00:00
fix #7363. Replay relevancy on unit literals that are re-asserted during backtracking.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
cfd00ad672
commit
6bd46b0922
3 changed files with 19 additions and 15 deletions
|
@ -71,6 +71,12 @@ namespace smt {
|
|||
enode_pp(enode* n, context const& ctx): ctx(ctx), n(n) {}
|
||||
};
|
||||
|
||||
struct replay_unit {
|
||||
expr_ref m_unit;
|
||||
bool m_sign;
|
||||
bool m_relevant;
|
||||
};
|
||||
|
||||
class context {
|
||||
friend class model_generator;
|
||||
friend class lookahead;
|
||||
|
@ -183,8 +189,7 @@ namespace smt {
|
|||
clause_vector m_aux_clauses;
|
||||
clause_vector m_lemmas;
|
||||
vector<clause_vector> m_clauses_to_reinit;
|
||||
expr_ref_vector m_units_to_reassert;
|
||||
svector<char> m_units_to_reassert_sign;
|
||||
vector<replay_unit> m_units_to_reassert;
|
||||
literal_vector m_assigned_literals;
|
||||
typedef std::pair<clause*, literal_vector> tmp_clause;
|
||||
vector<tmp_clause> m_tmp_clauses;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue