3
0
Fork 0
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:
Nikolaj Bjorner 2019-07-14 09:23:29 -04:00
parent 3ca32efd18
commit 4deb9d2af2
6 changed files with 124 additions and 100 deletions

View file

@ -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;