mirror of
https://github.com/Z3Prover/z3
synced 2025-08-18 17:22:15 +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
|
@ -50,10 +50,10 @@ protected:
|
|||
void collect_deps(top_sort& ts);
|
||||
void collect_occs(top_sort& ts, func_decl* f);
|
||||
void collect_occs(top_sort& ts, expr* e);
|
||||
void cleanup_interp(top_sort& ts, func_decl * f);
|
||||
expr_ref cleanup_expr(top_sort& ts, expr* e, unsigned current_partition);
|
||||
void cleanup_interp(top_sort& ts, func_decl * f, bool force_inline);
|
||||
expr_ref cleanup_expr(top_sort& ts, expr* e, unsigned current_partition, bool force_inline);
|
||||
void remove_decls(ptr_vector<func_decl> & decls, func_decl_set const & s);
|
||||
bool can_inline_def(top_sort& ts, func_decl* f);
|
||||
bool can_inline_def(top_sort& ts, func_decl* f, bool force_inline);
|
||||
value_factory* get_factory(sort* s);
|
||||
|
||||
public:
|
||||
|
@ -78,7 +78,7 @@ public:
|
|||
sort * get_uninterpreted_sort(unsigned idx) const override;
|
||||
bool has_uninterpreted_sort(sort * s) const;
|
||||
|
||||
expr_ref get_inlined_const_interp(func_decl* f);
|
||||
expr_ref get_inlined_const_interp(func_decl* f, bool force_inline);
|
||||
expr_ref unfold_as_array(expr* e);
|
||||
|
||||
//
|
||||
|
@ -90,7 +90,7 @@ public:
|
|||
//
|
||||
model * translate(ast_translation & translator) const;
|
||||
|
||||
void compress();
|
||||
void compress(bool force_inline = false);
|
||||
|
||||
void set_model_completion(bool f) { m_mev.set_model_completion(f); }
|
||||
void updt_params(params_ref const & p);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue