summaryrefslogtreecommitdiff
path: root/test/regress/regress0
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2019-12-23 17:18:19 -0600
committerAndres Noetzli <andres.noetzli@gmail.com>2019-12-23 15:18:19 -0800
commitb3471b719f1cd031d35e9a431027088b0dec156b (patch)
treebc5e55a278f9e927471ce99146e9fdc992bc716b /test/regress/regress0
parentf5ca3e5d09b457ac21b10793eb5d1efe3fbe40f6 (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.cvc9
-rw-r--r--test/regress/regress0/strings/str-rev-simple.smt211
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)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback