summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/term_canonize.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2019-07-27 07:28:21 -0500
committerGitHub <noreply@github.com>2019-07-27 07:28:21 -0500
commit67bf06f7ac7bad3640c220acd965c4c5b6f4202e (patch)
tree5f66b54eb0fc9f35200e66a6585765f210bff25a /src/theory/quantifiers/term_canonize.h
parent8078ed4c404238371a34d2c122e1489d6de9d3a9 (diff)
Minor improvement to term canonizer (#3123)
Diffstat (limited to 'src/theory/quantifiers/term_canonize.h')
-rw-r--r--src/theory/quantifiers/term_canonize.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/theory/quantifiers/term_canonize.h b/src/theory/quantifiers/term_canonize.h
index 8f7b8722e..207e6150c 100644
--- a/src/theory/quantifiers/term_canonize.h
+++ b/src/theory/quantifiers/term_canonize.h
@@ -55,12 +55,17 @@ class TermCanonize
*
* This returns a canonical (alpha-equivalent) version of n, where
* bound variables in n may be replaced by other ones, and arguments of
- * commutative operators of n may be sorted (if apply_torder is true).
+ * commutative operators of n may be sorted (if apply_torder is true). If
+ * doHoVar is true, we also canonicalize bound variables that occur in
+ * operators.
+ *
* In detail, we replace bound variables in n so the the leftmost occurrence
* of a bound variable for type T is the first canonical free variable for T,
* the second leftmost is the second, and so on, for each type T.
*/
- Node getCanonicalTerm(TNode n, bool apply_torder = false);
+ Node getCanonicalTerm(TNode n,
+ bool apply_torder = false,
+ bool doHoVar = true);
private:
/** the number of ids we have allocated for operators */
@@ -81,6 +86,7 @@ class TermCanonize
*/
Node getCanonicalTerm(TNode n,
bool apply_torder,
+ bool doHoVar,
std::map<TypeNode, unsigned>& var_count,
std::map<TNode, Node>& visited);
};
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback