projects
/
cvc5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c7116b0
)
Fix cases of ITE within regular expressions (#6783)
author
Andrew Reynolds
<andrew.j.reynolds@gmail.com>
Tue, 22 Jun 2021 03:50:29 +0000
(22:50 -0500)
committer
GitHub
<noreply@github.com>
Tue, 22 Jun 2021 03:50:29 +0000
(22:50 -0500)
Fixes #6776.
Our computation of when a regular expression was constant did not account for when ITE was embedded in an RE, leading to an unsound rewrite.
That benchmark now gives:
(error "Regular expression variables are not supported.")
src/theory/strings/regexp_entail.cpp
patch
|
blob
|
history
diff --git
a/src/theory/strings/regexp_entail.cpp
b/src/theory/strings/regexp_entail.cpp
index 3d4a2d1437ae8c6020adc7e68991e7296bf5b4bb..be164640302de4fd241653ad64cc03214c860c4f 100644
(file)
--- a/
src/theory/strings/regexp_entail.cpp
+++ b/
src/theory/strings/regexp_entail.cpp
@@
-364,6
+364,10
@@
bool RegExpEntail::isConstRegExp(TNode t)
}
}
}
+ else if (ck == ITE)
+ {
+ return false;
+ }
else if (cur.isVar())
{
return false;