diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-02-26 13:54:41 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-26 13:54:41 -0600 |
commit | b320aa323923822a7702997bbca05e8512da55a4 (patch) | |
tree | 62ed510b54bbfef908296a264002052efc4fff98 /test/regress/regress1/strings/complement-test.smt2 | |
parent | f26ea8026e94252e4f1418be473d10a5f957b988 (diff) |
Basic support for regular expression complement (#3437)
Fixes #3408 .
Adds basic rewriter, parsing, type checking and implements the required cases in regexp_operation.cpp. It also adds some missing documentation in regexp_operation.h
Diffstat (limited to 'test/regress/regress1/strings/complement-test.smt2')
-rw-r--r-- | test/regress/regress1/strings/complement-test.smt2 | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/regress/regress1/strings/complement-test.smt2 b/test/regress/regress1/strings/complement-test.smt2 new file mode 100644 index 000000000..1fcbdc2c3 --- /dev/null +++ b/test/regress/regress1/strings/complement-test.smt2 @@ -0,0 +1,12 @@ +(set-logic SLIA) +(set-info :status sat) +(declare-fun x () String) +(declare-fun y () String) +(declare-fun z () String) +(assert (= x (str.++ "AB" y))) +(assert (or (= y "C") (= y (str.++ "D" z)) (= (str.len y) 10))) +(assert (str.in.re x + (re.inter + (re.comp (str.to.re "AB")) + (re.comp (re.++ (str.to.re "AB") (re.range "A" "E") (re.* re.allchar)))))) +(check-sat) |