diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2019-12-23 17:18:19 -0600 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2019-12-23 15:18:19 -0800 |
commit | b3471b719f1cd031d35e9a431027088b0dec156b (patch) | |
tree | bc5e55a278f9e927471ce99146e9fdc992bc716b /test/regress/regress0 | |
parent | f5ca3e5d09b457ac21b10793eb5d1efe3fbe40f6 (diff) |
Initial support for string reverse (#3581)
Type rules, parsing and printing, basic rewriting including constant evaluation, reduction for string reverse (`str.rev`).
Also improves support in a few places for tolower/toupper.
Diffstat (limited to 'test/regress/regress0')
-rw-r--r-- | test/regress/regress0/strings/parser-syms.cvc | 9 | ||||
-rw-r--r-- | test/regress/regress0/strings/str-rev-simple.smt2 | 11 |
2 files changed, 20 insertions, 0 deletions
diff --git a/test/regress/regress0/strings/parser-syms.cvc b/test/regress/regress0/strings/parser-syms.cvc new file mode 100644 index 000000000..20c37cf52 --- /dev/null +++ b/test/regress/regress0/strings/parser-syms.cvc @@ -0,0 +1,9 @@ +% EXPECT: sat + +x : STRING; +y : STRING; + +ASSERT CONCAT( REVERSE("abc"), "d") = x; +ASSERT CONCAT( TOLOWER("ABC"), TOUPPER("abc")) = y; + +CHECKSAT; diff --git a/test/regress/regress0/strings/str-rev-simple.smt2 b/test/regress/regress0/strings/str-rev-simple.smt2 new file mode 100644 index 000000000..00011681c --- /dev/null +++ b/test/regress/regress0/strings/str-rev-simple.smt2 @@ -0,0 +1,11 @@ +(set-logic ALL) +(set-info :status sat) +(declare-fun x () String) +(declare-fun y () String) +(declare-fun z () String) +(assert (= (str.rev "ABC") "CBA")) +(assert (= (str.rev "") "")) +(assert (= (str.rev "A") x)) +(assert (= (str.rev (str.++ x y)) "BCA")) +(assert (= (str.rev "BC") y)) +(check-sat) |