| 2451 | } |
| 2452 | |
| 2453 | quantifier * 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. |