mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 11:25:51 +00:00
use array interpretations whenever possible for #2378. Also strengthen equality test for lambda
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
3ca32efd18
commit
4deb9d2af2
6 changed files with 124 additions and 100 deletions
|
@ -73,10 +73,14 @@ class func_interp {
|
|||
|
||||
expr * m_interp; //!< cache for representing the whole interpretation as a single expression (it uses ite terms).
|
||||
|
||||
expr * m_array_interp; // <! interp with lambda abstraction
|
||||
|
||||
void reset_interp_cache();
|
||||
|
||||
expr * get_interp_core() const;
|
||||
|
||||
expr * get_array_interp_core(func_decl * f) const;
|
||||
|
||||
public:
|
||||
func_interp(ast_manager & m, unsigned arity);
|
||||
~func_interp();
|
||||
|
@ -112,7 +116,7 @@ public:
|
|||
|
||||
expr * get_interp() const;
|
||||
|
||||
expr_ref get_array_interp(sort_ref_vector const& domain) const;
|
||||
expr * get_array_interp(func_decl* f) const;
|
||||
|
||||
func_interp * translate(ast_translation & translator) const;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue