summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/extended_rewrite.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-02-12 16:25:15 -0600
committerGitHub <noreply@github.com>2020-02-12 16:25:15 -0600
commitbc37e46f4861e0a3e753c1cfbbccda4630a49562 (patch)
tree94f6f7a75bcfe92f5d7a63a4ebb40201426d1819 /src/theory/quantifiers/extended_rewrite.cpp
parent850ac17e46c97cab39122bfcd01dcbe459d1589a (diff)
parentf38cd31ddfd3d5caa2ffe3a0ffafbb2b0394391b (diff)
Merge branch 'master' into renameJavaPackagerenameJavaPackage
Diffstat (limited to 'src/theory/quantifiers/extended_rewrite.cpp')
-rw-r--r--src/theory/quantifiers/extended_rewrite.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/theory/quantifiers/extended_rewrite.cpp b/src/theory/quantifiers/extended_rewrite.cpp
index 05e789ce2..9e924f34d 100644
--- a/src/theory/quantifiers/extended_rewrite.cpp
+++ b/src/theory/quantifiers/extended_rewrite.cpp
@@ -155,6 +155,16 @@ Node ExtendedRewriter::extendedRewrite(Node n)
// we may have subsumed children down to one
ret = children[0];
}
+ else if (isAssoc && children.size() > kind::metakind::getUpperBoundForKind(k))
+ {
+ Assert(kind::metakind::getUpperBoundForKind(k) >= 2);
+ // kind may require binary construction
+ ret = children[0];
+ for (unsigned i = 1, nchild = children.size(); i < nchild; i++)
+ {
+ ret = nm->mkNode(k, ret, children[i]);
+ }
+ }
else
{
ret = nm->mkNode(k, children);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback