From da790d921114f250597606313245f9fe7fcb72d5 Mon Sep 17 00:00:00 2001 From: ajreynol Date: Mon, 28 Sep 2015 14:12:48 +0200 Subject: Minor fixes to strings, add regressions. --- test/regress/regress0/strings/Makefile.am | 4 +++- test/regress/regress0/strings/chapman150408.smt2 | 10 ++++++++++ test/regress/regress0/strings/pierre150331.smt2 | 13 +++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 test/regress/regress0/strings/chapman150408.smt2 create mode 100644 test/regress/regress0/strings/pierre150331.smt2 (limited to 'test') diff --git a/test/regress/regress0/strings/Makefile.am b/test/regress/regress0/strings/Makefile.am index e880d3edc..716d41365 100644 --- a/test/regress/regress0/strings/Makefile.am +++ b/test/regress/regress0/strings/Makefile.am @@ -56,7 +56,9 @@ TESTS = \ artemis-0512-nonterm.smt2 \ indexof-sym-simp.smt2 \ bug613.smt2 \ - idof-triv.smt2 + idof-triv.smt2 \ + chapman150408.smt2 \ + pierre150331.smt2 FAILING_TESTS = diff --git a/test/regress/regress0/strings/chapman150408.smt2 b/test/regress/regress0/strings/chapman150408.smt2 new file mode 100644 index 000000000..546c46e32 --- /dev/null +++ b/test/regress/regress0/strings/chapman150408.smt2 @@ -0,0 +1,10 @@ +(set-logic SLIA) +(set-info :status sat) +(set-option :strings-exp true) +(set-option :rewrite-divk true) +(declare-fun string () String) +(assert (and + (and (not (not (not (= (ite (> (str.indexof string ";" 0) 0) 1 0) + 0)))) (not (= (ite (not (= (str.len string) 0)) 1 0) 0))) (not + (not (= (ite (str.contains string "]") 1 0) 0))))) +(check-sat) diff --git a/test/regress/regress0/strings/pierre150331.smt2 b/test/regress/regress0/strings/pierre150331.smt2 new file mode 100644 index 000000000..88d5ec10c --- /dev/null +++ b/test/regress/regress0/strings/pierre150331.smt2 @@ -0,0 +1,13 @@ +(set-logic SLIA) +(set-info :status sat) +(set-info :smt-lib-version 2.5) +(set-option :strings-exp true) +(define-fun stringEval ((?s String)) Bool (str.in.re ?s +(re.union +(str.to.re "H") +(re.++ (re.loop (str.to.re "{") 2 2 ) (re.loop (re.union re.nostr (re.range "" "]") (re.range "" "^") ) 2 4 ) ) ) ) ) +(declare-fun s0() String) +(declare-fun s1() String) +(declare-fun s2() String) +(assert (and true (stringEval s0) (stringEval s1) (distinct s0 s1) (stringEval s2) (distinct s0 s2) (distinct s1 s2) ) ) +(check-sat) \ No newline at end of file -- cgit v1.2.3