3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-13 20:38:43 +00:00
MBQI asserts auxiliary function definitions to handle models of arrays. This is unsound if the definition contains a model value.
This commit is contained in:
Nikolaj Bjorner 2022-08-15 00:13:32 -07:00
parent a0d4a8c21c
commit e0aa32e6c5

View file

@ -243,6 +243,8 @@ namespace smt {
func_decl * f = nullptr;
if (autil.is_as_array(sk_value, f) && cex->get_func_interp(f) && cex->get_func_interp(f)->get_interp()) {
expr_ref body(cex->get_func_interp(f)->get_interp(), m);
if (contains_model_value(body))
return false;
ptr_vector<sort> sorts(f->get_arity(), f->get_domain());
svector<symbol> names;
for (unsigned i = 0; i < f->get_arity(); ++i) {