MCPcopy Create free account
hub / github.com/Z3Prover/z3 / mk_lambda

Method mk_lambda

src/ast/ast.cpp:2453–2465  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2451}
2452
2453quantifier * ast_manager::mk_lambda(unsigned num_decls, sort * const * decl_sorts, symbol const * decl_names, expr * body) {
2454 SASSERT(body);
2455 unsigned sz = quantifier::get_obj_size(num_decls, 0, 0);
2456 void * mem = allocate_node(sz);
2457 array_util autil(*this);
2458 sort* s = autil.mk_array_sort(num_decls, decl_sorts, body->get_sort());
2459 quantifier * new_node = new (mem) quantifier(num_decls, decl_sorts, decl_names, body, s);
2460 quantifier * r = register_node(new_node);
2461 if (m_trace_stream && r == new_node) {
2462 trace_quant(*m_trace_stream, r);
2463 }
2464 return r;
2465}
2466
2467
2468// Return true if the patterns of q are the given ones.

Callers 9

add_instanceMethod · 0.80
get_array_interp_coreMethod · 0.80
test5Method · 0.80
consume_workMethod · 0.80
abstract_patternMethod · 0.80
bind_lambdasMethod · 0.80
expand_storeMethod · 0.80
Z3_mk_lambdaFunction · 0.80
Z3_mk_lambda_constFunction · 0.80

Calls 3

trace_quantFunction · 0.85
mk_array_sortMethod · 0.45
get_sortMethod · 0.45

Tested by 1

test5Method · 0.64