diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-04-28 11:15:00 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-28 11:15:00 -0500 |
commit | 967332f464f3e26d43f05bb9c68a0be788337ef6 (patch) | |
tree | 561391457c65750a8e7fac9b6656a7e7e4176a69 /test/regress/regress1/strings/issue2982.smt2 | |
parent | 8ea1603f55d940e56ab3cbee8177f06200228aaa (diff) |
Support the SMT-LIB Unicode string standard by default (#4378)
This PR merges --lang=smt2.6.1 and --lang=smt2.6 (default). It makes it so that 2.6 always expects the syntax of the string standard http://smtlib.cs.uiowa.edu/theories-UnicodeStrings.shtml.
I've updated the regressions so that the 2.6 benchmarks are now compliant with the standard. Some of the <=2.5 benchmarks I've updated to 2.6. Others I have left for now, in particular the ones that rely on special characters or ad-hoc escape sequences. The old formats will be supported in the release but removed shortly afterwards.
This PR is a prerequisite for the release, but not necessarily SMT-COMP (which will use --lang=smt2.6.1 if needed). Notice that we still do not have parsing support for str.replace_re or str.replace_re_all. This is required to be fully compliant.
Diffstat (limited to 'test/regress/regress1/strings/issue2982.smt2')
-rw-r--r-- | test/regress/regress1/strings/issue2982.smt2 | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/regress/regress1/strings/issue2982.smt2 b/test/regress/regress1/strings/issue2982.smt2 index 41be8d1fd..a57915b44 100644 --- a/test/regress/regress1/strings/issue2982.smt2 +++ b/test/regress/regress1/strings/issue2982.smt2 @@ -16,8 +16,8 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re (str.++ var_7 "z" var_7 ) (re.* (str.to.re "z")))) -(assert (str.in.re var_7 (re.* (re.range "a" "u")))) -(assert (not (str.in.re (str.++ "a" var_7 "z" "a" var_7 ) (re.++ (re.* (re.union (str.to.re "z") (re.++ (str.to.re "a") (re.++ (re.* (str.to.re "a")) (str.to.re "z"))))) (re.++ (str.to.re "a") (re.* (str.to.re "a"))))))) +(assert (str.in_re (str.++ var_7 "z" var_7 ) (re.* (str.to_re "z")))) +(assert (str.in_re var_7 (re.* (re.range "a" "u")))) +(assert (not (str.in_re (str.++ "a" var_7 "z" "a" var_7 ) (re.++ (re.* (re.union (str.to_re "z") (re.++ (str.to_re "a") (re.++ (re.* (str.to_re "a")) (str.to_re "z"))))) (re.++ (str.to_re "a") (re.* (str.to_re "a"))))))) (assert (and (<= (str.len var_7) 0 ) (<= 0 (str.len var_7)))) (check-sat) |