mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 19:35:50 +00:00
integrate lambda expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
bf4edef761
commit
520ce9a5ee
139 changed files with 2243 additions and 1506 deletions
|
@ -17,11 +17,11 @@ Revision History:
|
|||
|
||||
--*/
|
||||
|
||||
#include "smt/proto_model/array_factory.h"
|
||||
#include "ast/array_decl_plugin.h"
|
||||
#include "smt/proto_model/proto_model.h"
|
||||
#include "model/func_interp.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "model/func_interp.h"
|
||||
#include "smt/proto_model/array_factory.h"
|
||||
#include "smt/proto_model/proto_model.h"
|
||||
|
||||
func_decl * mk_aux_decl_for_array_sort(ast_manager & m, sort * s) {
|
||||
ptr_buffer<sort> domain;
|
||||
|
@ -67,9 +67,13 @@ expr * array_factory::get_some_value(sort * s) {
|
|||
return *(set->begin());
|
||||
func_interp * fi;
|
||||
expr * val = mk_array_interp(s, fi);
|
||||
#if 0
|
||||
ptr_buffer<expr> args;
|
||||
get_some_args_for(s, args);
|
||||
fi->insert_entry(args.c_ptr(), m_model.get_some_value(get_array_range(s)));
|
||||
#else
|
||||
fi->set_else(m_model.get_some_value(get_array_range(s)));
|
||||
#endif
|
||||
return val;
|
||||
}
|
||||
|
||||
|
@ -143,9 +147,13 @@ expr * array_factory::get_fresh_value(sort * s) {
|
|||
// easy case
|
||||
func_interp * fi;
|
||||
expr * val = mk_array_interp(s, fi);
|
||||
#if 0
|
||||
ptr_buffer<expr> args;
|
||||
get_some_args_for(s, args);
|
||||
fi->insert_entry(args.c_ptr(), range_val);
|
||||
#else
|
||||
fi->set_else(range_val);
|
||||
#endif
|
||||
return val;
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue