mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 10:25:18 +00:00
revert first fix for #1173, replace by handling single arity chainables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
64233034cc
commit
e9b9a29339
|
@ -414,10 +414,10 @@ inline decl_kind arith_decl_plugin::fix_kind(decl_kind k, unsigned arity) {
|
|||
return OP_UMINUS;
|
||||
}
|
||||
switch (k) {
|
||||
case OP_LE: check_arity(arity, 2); break;
|
||||
case OP_GE: check_arity(arity, 2); break;
|
||||
case OP_LT: check_arity(arity, 2); break;
|
||||
case OP_GT: check_arity(arity, 2); break;
|
||||
case OP_LE: break;
|
||||
case OP_GE: break;
|
||||
case OP_LT: break;
|
||||
case OP_GT: break;
|
||||
case OP_ADD: break;
|
||||
case OP_SUB: break;
|
||||
case OP_UMINUS: check_arity(arity, 1); break;
|
||||
|
|
|
@ -2178,7 +2178,10 @@ app * ast_manager::mk_app(func_decl * decl, unsigned num_args, expr * const * ar
|
|||
throw ast_exception(buffer.str().c_str());
|
||||
}
|
||||
app * r = 0;
|
||||
if (num_args > 2 && !decl->is_flat_associative()) {
|
||||
if (num_args == 1 && decl->is_chainable() && decl->get_arity() == 2) {
|
||||
r = mk_true();
|
||||
}
|
||||
else if (num_args > 2 && !decl->is_flat_associative()) {
|
||||
if (decl->is_right_associative()) {
|
||||
unsigned j = num_args - 1;
|
||||
r = mk_app_core(decl, args[j-1], args[j]);
|
||||
|
|
Loading…
Reference in a new issue