mirror of
https://github.com/Z3Prover/z3
synced 2025-06-08 23:23:23 +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
|
@ -59,6 +59,7 @@ class proto_model : public model_core {
|
|||
void remove_aux_decls_not_in_set(ptr_vector<func_decl> & decls, func_decl_set const & s);
|
||||
void cleanup_func_interp(func_interp * fi, func_decl_set & found_aux_fs);
|
||||
|
||||
bool is_select_of_model_value(expr* e) const;
|
||||
|
||||
public:
|
||||
proto_model(ast_manager & m, simplifier & s, params_ref const & p = params_ref());
|
||||
|
@ -68,7 +69,7 @@ public:
|
|||
|
||||
bool eval(expr * e, expr_ref & result, bool model_completion = false);
|
||||
|
||||
bool is_array_value(expr * v) const;
|
||||
bool is_as_array(expr * v) const;
|
||||
|
||||
value_factory * get_factory(family_id fid);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue