From 808bb1bd855799535a1b690865dc873793a37f7f Mon Sep 17 00:00:00 2001 From: Andrew Reynolds Date: Tue, 25 Feb 2020 20:52:10 -0600 Subject: Embed mkAssociative utilities within the API. (#3801) Towards parser/API migration. --- src/expr/expr_manager_template.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/expr/expr_manager_template.h') diff --git a/src/expr/expr_manager_template.h b/src/expr/expr_manager_template.h index c61c7e012..0fd5bb4fa 100644 --- a/src/expr/expr_manager_template.h +++ b/src/expr/expr_manager_template.h @@ -306,6 +306,16 @@ private: */ Expr mkRightAssociative(Kind kind, const std::vector& children); + /** make chain + * + * Given a kind k and arguments t_1, ..., t_n, this returns the + * conjunction of: + * (k t_1 t_2) .... (k t_{n-1} t_n) + * It is expected that k is a kind denoting a predicate, and args is a list + * of terms of size >= 2 such that the terms above are well-typed. + */ + Expr mkChain(Kind kind, const std::vector& children); + /** * Determine whether Exprs of a particular Kind have operators. * @returns true if Exprs of Kind k have operators. -- cgit v1.2.3