mirror of
https://github.com/Z3Prover/z3
synced 2025-05-10 01:05:47 +00:00
Issue #354. Fix unsoundness in Array theory based on missing propagation of selects over ite expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0df4931c4b
commit
fce286db91
10 changed files with 112 additions and 10 deletions
|
@ -943,6 +943,18 @@ namespace smt {
|
|||
result->add_entry(args.size(), args.c_ptr(), select);
|
||||
}
|
||||
}
|
||||
TRACE("array",
|
||||
tout << mk_pp(n->get_root()->get_owner(), get_manager()) << "\n";
|
||||
if (sel_set) {
|
||||
select_set::iterator it = sel_set->begin();
|
||||
select_set::iterator end = sel_set->end();
|
||||
for (; it != end; ++it) {
|
||||
tout << "#" << (*it)->get_root()->get_owner()->get_id() << " " << mk_pp((*it)->get_owner(), get_manager()) << "\n";
|
||||
}
|
||||
}
|
||||
if (else_val_n) {
|
||||
tout << "else: " << mk_pp(else_val_n->get_owner(), get_manager()) << "\n";
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue