mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 21:38:44 +00:00
parent
0a34eef470
commit
4388ab2e3e
|
@ -178,6 +178,10 @@ namespace euf {
|
||||||
mbS->add_value(n, *mdl, m_values);
|
mbS->add_value(n, *mdl, m_values);
|
||||||
else if (auto* mbE = expr2solver(e))
|
else if (auto* mbE = expr2solver(e))
|
||||||
mbE->add_value(n, *mdl, m_values);
|
mbE->add_value(n, *mdl, m_values);
|
||||||
|
else if (is_app(e) && to_app(e)->get_family_id() != m.get_basic_family_id()) {
|
||||||
|
m_values.set(id, e);
|
||||||
|
IF_VERBOSE(1, verbose_stream() << "creating self-value for " << mk_pp(e, m) << "\n");
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
IF_VERBOSE(1, verbose_stream() << "no model values created for " << mk_pp(e, m) << "\n");
|
IF_VERBOSE(1, verbose_stream() << "no model values created for " << mk_pp(e, m) << "\n");
|
||||||
}
|
}
|
||||||
|
@ -212,9 +216,10 @@ namespace euf {
|
||||||
args.reset();
|
args.reset();
|
||||||
for (expr* arg : *a) {
|
for (expr* arg : *a) {
|
||||||
enode* earg = get_enode(arg);
|
enode* earg = get_enode(arg);
|
||||||
args.push_back(m_values.get(earg->get_root_id()));
|
expr* val = m_values.get(earg->get_root_id());
|
||||||
CTRACE("euf", !args.back(), tout << "no value for " << bpp(earg) << "\n";);
|
args.push_back(val);
|
||||||
SASSERT(args.back());
|
CTRACE("euf", !val, tout << "no value for " << bpp(earg) << "\n";);
|
||||||
|
SASSERT(val);
|
||||||
}
|
}
|
||||||
SASSERT(args.size() == arity);
|
SASSERT(args.size() == arity);
|
||||||
if (!fi->get_entry(args.data()))
|
if (!fi->get_entry(args.data()))
|
||||||
|
|
Loading…
Reference in a new issue