mirror of
https://github.com/Z3Prover/z3
synced 2025-07-19 10:52:02 +00:00
#close 5363
Force in-lining auxiliary functions so that model values can be used by SPACER to retrieve counter-examples. This fixes the issue of terminating without a trace. It does not address inefficiency involved with invoking satisfiability checks to retrieve models during trace construction.
This commit is contained in:
parent
55daa2424c
commit
d5c6abe14d
3 changed files with 32 additions and 29 deletions
|
@ -369,16 +369,14 @@ expr_ref func_interp::get_array_interp_core(func_decl * f) const {
|
|||
if (m_else == nullptr)
|
||||
return r;
|
||||
ptr_vector<sort> domain;
|
||||
for (sort* s : *f) {
|
||||
domain.push_back(s);
|
||||
}
|
||||
for (sort* s : *f)
|
||||
domain.push_back(s);
|
||||
|
||||
bool ground = is_ground(m_else);
|
||||
for (func_entry * curr : m_entries) {
|
||||
ground &= is_ground(curr->get_result());
|
||||
for (unsigned i = 0; i < m_arity; i++) {
|
||||
ground &= is_ground(curr->get_arg(i));
|
||||
}
|
||||
for (unsigned i = 0; i < m_arity; i++)
|
||||
ground &= is_ground(curr->get_arg(i));
|
||||
}
|
||||
if (!ground) {
|
||||
r = get_interp();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue