mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 11:55:51 +00:00
#5417 - revise q_eval based on bug based on non-chronological dependencies with post-hoc explain function
This commit is contained in:
parent
e8bc9f3469
commit
7d915eb295
7 changed files with 99 additions and 145 deletions
|
@ -57,7 +57,7 @@ namespace q {
|
|||
unsigned m_index;
|
||||
vector<lit> m_lits;
|
||||
quantifier_ref m_q;
|
||||
sat::literal m_literal;
|
||||
sat::literal m_literal = sat::null_literal;
|
||||
q::quantifier_stat* m_stat = nullptr;
|
||||
binding* m_bindings = nullptr;
|
||||
|
||||
|
@ -75,10 +75,12 @@ namespace q {
|
|||
struct justification {
|
||||
expr* m_lhs, *m_rhs;
|
||||
bool m_sign;
|
||||
unsigned m_num_ev;
|
||||
euf::enode_pair* m_evidence;
|
||||
clause& m_clause;
|
||||
euf::enode* const* m_binding;
|
||||
justification(lit const& l, clause& c, euf::enode* const* b):
|
||||
m_lhs(l.lhs), m_rhs(l.rhs), m_sign(l.sign), m_clause(c), m_binding(b) {}
|
||||
justification(lit const& l, clause& c, euf::enode* const* b, unsigned n, euf::enode_pair* ev):
|
||||
m_lhs(l.lhs), m_rhs(l.rhs), m_sign(l.sign), m_clause(c), m_binding(b), m_num_ev(n), m_evidence(ev) {}
|
||||
sat::ext_constraint_idx to_index() const {
|
||||
return sat::constraint_base::mem2base(this);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue