diff options
author | Andres Noetzli <andres.noetzli@gmail.com> | 2020-03-19 07:18:58 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-19 09:18:58 -0500 |
commit | 089a60266f2658e471d204fdd737e3e0d37e105c (patch) | |
tree | dd07799cf5a1a06f184ce402fab016bf54c656e0 /test/regress/regress0/strings | |
parent | 94844fbf4fbe4fa08d8fa4cbe093ba532f5bd613 (diff) |
Only apply testConstStringInRegExp to const regexp (#4120)
Fixes #4070. `TheoryStringsRewriter::rewriteConcatRegExp()` rewrites
`(a)* ++ (_)*` to `(_)*`. To do so, it checks whether the elements
preceding `(_)*` match the empty string using
`TheoryStringsRewriter::testConstStringInRegExp()`. However, this method
only expects to be called on constant regular expressions (i.e. regular
expressions without string variables). This commit adds a corresponding
check before calling `TheoryStringsRewriter::testConstStringInRegExp()`.
Diffstat (limited to 'test/regress/regress0/strings')
-rw-r--r-- | test/regress/regress0/strings/issue4070.smt2 | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/test/regress/regress0/strings/issue4070.smt2 b/test/regress/regress0/strings/issue4070.smt2 new file mode 100644 index 000000000..2de58c4d2 --- /dev/null +++ b/test/regress/regress0/strings/issue4070.smt2 @@ -0,0 +1,6 @@ +; EXPECT: sat +(set-logic QF_S) +(declare-fun a () String) +(declare-fun b () String) +(assert (str.in.re a (re.++ (str.to.re b) (re.* re.allchar)))) +(check-sat) |