diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-02-12 16:25:15 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-12 16:25:15 -0600 |
commit | bc37e46f4861e0a3e753c1cfbbccda4630a49562 (patch) | |
tree | 94f6f7a75bcfe92f5d7a63a4ebb40201426d1819 /src/theory/quantifiers/extended_rewrite.cpp | |
parent | 850ac17e46c97cab39122bfcd01dcbe459d1589a (diff) | |
parent | f38cd31ddfd3d5caa2ffe3a0ffafbb2b0394391b (diff) |
Merge branch 'master' into renameJavaPackagerenameJavaPackage
Diffstat (limited to 'src/theory/quantifiers/extended_rewrite.cpp')
-rw-r--r-- | src/theory/quantifiers/extended_rewrite.cpp | 10 |
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); |