diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2019-07-30 09:17:00 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-30 09:17:00 -0500 |
commit | c9fa0516fd28b48940edf2a714e33bee6eacc396 (patch) | |
tree | c5c2f6a3689b3984fe19ab2610fe53d98f1fc36a /test/regress | |
parent | 943a4781526e5d5e9ca943a0955f30fbb9f7ba61 (diff) |
Handle RE intersections modulo equality (#3120)
Diffstat (limited to 'test/regress')
-rw-r--r-- | test/regress/CMakeLists.txt | 1 | ||||
-rw-r--r-- | test/regress/regress1/strings/re-mod-eq.smt2 | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt index 9874100b3..90641fe2f 100644 --- a/test/regress/CMakeLists.txt +++ b/test/regress/CMakeLists.txt @@ -1583,6 +1583,7 @@ set(regress_1_tests regress1/strings/re-agg-total1.smt2 regress1/strings/re-agg-total2.smt2 regress1/strings/re-elim-exact.smt2 + regress1/strings/re-mod-eq.smt2 regress1/strings/re-neg-concat-reduct.smt2 regress1/strings/re-neg-unfold-rev-a.smt2 regress1/strings/re-unsound-080718.smt2 diff --git a/test/regress/regress1/strings/re-mod-eq.smt2 b/test/regress/regress1/strings/re-mod-eq.smt2 new file mode 100644 index 000000000..531556e6d --- /dev/null +++ b/test/regress/regress1/strings/re-mod-eq.smt2 @@ -0,0 +1,13 @@ +(set-info :smt-lib-version 2.5) +(set-logic QF_SLIA) +(set-option :strings-exp true) +(set-info :status unsat) +(declare-fun x () String) +(declare-fun y () String) +(declare-fun z () String) +(assert (or (= x y)(= x z))) +(assert (str.in.re x (re.++ (str.to.re "A") (re.* (str.to.re "BAA"))))) +(assert (str.in.re y (re.++ (str.to.re "AB") (re.* (str.to.re "AAB")) (str.to.re "A")))) +(assert (str.in.re z (re.++ (str.to.re "AB") (re.* (str.to.re "AAB")) (str.to.re "A")))) +; requires RE solver to reason modulo string equalties +(check-sat) |