mirror of
https://github.com/Z3Prover/z3
synced 2025-08-03 09:50:23 +00:00
updates to seq and bug fixes (#4056)
* na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fix #4037 * nicer output for skolem functions * more overhaul of seq, some bug fixes * na * added offset_eq file * na * fix #4044 * fix #4040 * fix #4045 * updated ignore * new rewrites for indexof based on #4036 * add shortcuts * updated ne solver for seq, fix #4025 * use pair vectors for equalities that are reduced by seq_rewriter * use erase_and_swap * remove unit-walk * na * add check for #3200 * nits Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * name a type Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove fp check Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove unsound axiom instantiation for non-contains Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fix rewrites Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fix #4053 Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fix #4052 Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
53c14bd554
commit
95a78b2450
39 changed files with 1516 additions and 1654 deletions
|
@ -767,7 +767,6 @@ namespace smt {
|
|||
if it already exists. Otherwise, return 0 and add p to the todo-list.
|
||||
*/
|
||||
proof * conflict_resolution::get_proof(enode * n1, enode * n2) {
|
||||
SASSERT(n1 != n2);
|
||||
proof * pr;
|
||||
if (m_eq2proof.find(n1, n2, pr)) {
|
||||
TRACE("proof_gen_bug", tout << "eq2_pr_cached: #" << n1->get_owner_id() << " #" << n2->get_owner_id() << "\n";);
|
||||
|
@ -1204,6 +1203,12 @@ namespace smt {
|
|||
|
||||
void conflict_resolution::mk_proof(enode * lhs, enode * rhs) {
|
||||
SASSERT(!m_eq2proof.contains(lhs, rhs));
|
||||
if (lhs == rhs) {
|
||||
proof* pr = m.mk_reflexivity(lhs->get_owner());
|
||||
m_new_proofs.push_back(pr);
|
||||
m_eq2proof.insert(lhs, rhs, pr);
|
||||
return;
|
||||
}
|
||||
enode * c = find_common_ancestor(lhs, rhs);
|
||||
ptr_buffer<proof> prs1;
|
||||
mk_proof(lhs, c, prs1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue