The current parser accepts the smtlib code below since it ignores all arguments after z.
This PR fixes this issue by sending all arguments to the operator to be checked.
(set-logic ALL)
(declare-fun z () (Tuple Int Int Int Int Int Int))
(declare-fun f () (Tuple Int Int Int))
(assert (= f ((_ tuple_project 0 1 2) z f f f f f f f f 0 0 0 0 0)))
(check-sat)
}
else if (p.d_kind == api::TUPLE_PROJECT)
{
- api::Term ret = d_solver->mkTerm(p.d_op, args[0]);
+ api::Term ret = d_solver->mkTerm(p.d_op, args);
Debug("parser") << "applyParseOp: return projection " << ret << std::endl;
return ret;
}