summaryrefslogtreecommitdiff
path: root/src/expr/expr_manager_template.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-02-25 20:52:10 -0600
committerGitHub <noreply@github.com>2020-02-25 20:52:10 -0600
commit808bb1bd855799535a1b690865dc873793a37f7f (patch)
tree178d9bb00cccf12c11c6f7284dc66e0d6c8827ec /src/expr/expr_manager_template.h
parent9301607b58a3b74dcea73c500c6391d6a51093f8 (diff)
Embed mkAssociative utilities within the API. (#3801)
Towards parser/API migration.
Diffstat (limited to 'src/expr/expr_manager_template.h')
-rw-r--r--src/expr/expr_manager_template.h10
1 files changed, 10 insertions, 0 deletions
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<Expr>& 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<Expr>& children);
+
/**
* Determine whether Exprs of a particular Kind have operators.
* @returns true if Exprs of Kind k have operators.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback