3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-21 10:41:35 +00:00

Improved quantifier instantiation logging

This commit is contained in:
Nils Becker 2018-04-08 18:16:38 +02:00 committed by nilsbecker
parent 41e0a12678
commit 7585f28dec
10 changed files with 108 additions and 24 deletions

View file

@ -558,6 +558,7 @@ namespace smt {
invert_trans(n1);
n1->m_trans.m_target = n2;
n1->m_trans.m_justification = js;
n1->m_proof_is_logged = false;
SASSERT(r1->trans_reaches(n1));
// ---------------
// r1 -> .. -> n1 -> n2 -> ... -> r2
@ -749,6 +750,7 @@ namespace smt {
eq_justification new_js = curr->m_trans.m_justification;
curr->m_trans.m_target = prev;
curr->m_trans.m_justification = js;
curr->m_proof_is_logged = false;
prev = curr;
js = new_js;
curr = new_curr;
@ -1045,6 +1047,7 @@ namespace smt {
SASSERT(r1->trans_reaches(n1));
n1->m_trans.m_target = nullptr;
n1->m_trans.m_justification = null_eq_justification;
n1->m_proof_is_logged = false;
invert_trans(r1);
// ---------------
// n1 -> ... -> r1
@ -1809,7 +1812,7 @@ namespace smt {
}
bool context::add_instance(quantifier * q, app * pat, unsigned num_bindings, enode * const * bindings, unsigned max_generation,
unsigned min_top_generation, unsigned max_top_generation, ptr_vector<enode> & used_enodes) {
unsigned min_top_generation, unsigned max_top_generation, vector<std::tuple<enode *, enode *>> & used_enodes) {
return m_qmanager->add_instance(q, pat, num_bindings, bindings, max_generation, min_top_generation, max_top_generation, used_enodes);
}