From: Andrew Reynolds Date: Tue, 28 Apr 2020 16:15:00 +0000 (-0500) Subject: Support the SMT-LIB Unicode string standard by default (#4378) X-Git-Tag: cvc5-1.0.0~3336 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=967332f464f3e26d43f05bb9c68a0be788337ef6;p=cvc5.git Support the SMT-LIB Unicode string standard by default (#4378) This PR merges --lang=smt2.6.1 and --lang=smt2.6 (default). It makes it so that 2.6 always expects the syntax of the string standard http://smtlib.cs.uiowa.edu/theories-UnicodeStrings.shtml. I've updated the regressions so that the 2.6 benchmarks are now compliant with the standard. Some of the <=2.5 benchmarks I've updated to 2.6. Others I have left for now, in particular the ones that rely on special characters or ad-hoc escape sequences. The old formats will be supported in the release but removed shortly afterwards. This PR is a prerequisite for the release, but not necessarily SMT-COMP (which will use --lang=smt2.6.1 if needed). Notice that we still do not have parsing support for str.replace_re or str.replace_re_all. This is required to be fully compliant. --- diff --git a/contrib/competitions/smt-comp/run-script-smtcomp-current b/contrib/competitions/smt-comp/run-script-smtcomp-current index 8a1d674ed..c7f9d0a71 100755 --- a/contrib/competitions/smt-comp/run-script-smtcomp-current +++ b/contrib/competitions/smt-comp/run-script-smtcomp-current @@ -141,8 +141,8 @@ QF_ALIA) finishwith --decision=justification-stoponly --no-arrays-eager-index --arrays-eager-lemmas ;; QF_S|QF_SLIA) - trywith 300 --strings-exp --rewrite-divk --lang=smt2.6.1 --strings-fmf - finishwith --strings-exp --rewrite-divk --lang=smt2.6.1 + trywith 300 --strings-exp --rewrite-divk --strings-fmf + finishwith --strings-exp --rewrite-divk ;; QF_ABVFP) finishwith --fp-exp diff --git a/contrib/competitions/smt-comp/run-script-smtcomp-current-unsat-cores b/contrib/competitions/smt-comp/run-script-smtcomp-current-unsat-cores index 5e827128e..6cebad7fd 100755 --- a/contrib/competitions/smt-comp/run-script-smtcomp-current-unsat-cores +++ b/contrib/competitions/smt-comp/run-script-smtcomp-current-unsat-cores @@ -66,7 +66,7 @@ QF_ALIA) finishwith --decision=justification-stoponly --no-arrays-eager-index --arrays-eager-lemmas ;; QF_S|QF_SLIA) - finishwith --strings-exp --rewrite-divk --lang=smt2.6.1 + finishwith --strings-exp --rewrite-divk ;; QF_ABVFP) finishwith --fp-exp diff --git a/src/api/cvc4cpp.cpp b/src/api/cvc4cpp.cpp index 24cd762a1..b27cc48b4 100644 --- a/src/api/cvc4cpp.cpp +++ b/src/api/cvc4cpp.cpp @@ -4384,9 +4384,9 @@ void Solver::setInfo(const std::string& keyword, const std::string& value) const "'notes', 'smt-lib-version' or 'status'"; CVC4_API_ARG_CHECK_EXPECTED(keyword != "smt-lib-version" || value == "2" || value == "2.0" || value == "2.5" - || value == "2.6" || value == "2.6.1", + || value == "2.6", value) - << "'2.0', '2.5', '2.6' or '2.6.1'"; + << "'2.0', '2.5', '2.6'"; CVC4_API_ARG_CHECK_EXPECTED(keyword != "status" || value == "sat" || value == "unsat" || value == "unknown", value) diff --git a/src/options/language.cpp b/src/options/language.cpp index 8c6f8421f..52263567b 100644 --- a/src/options/language.cpp +++ b/src/options/language.cpp @@ -21,10 +21,10 @@ namespace language { /** define the end points of smt2 languages */ namespace input { -Language LANG_SMTLIB_V2_END = LANG_SMTLIB_V2_6_1; +Language LANG_SMTLIB_V2_END = LANG_SMTLIB_V2_6; } namespace output { -Language LANG_SMTLIB_V2_END = LANG_SMTLIB_V2_6_1; +Language LANG_SMTLIB_V2_END = LANG_SMTLIB_V2_6; } bool isInputLang_smt2(InputLanguage lang) @@ -83,7 +83,6 @@ InputLanguage toInputLanguage(OutputLanguage language) { case output::LANG_SMTLIB_V2_0: case output::LANG_SMTLIB_V2_5: case output::LANG_SMTLIB_V2_6: - case output::LANG_SMTLIB_V2_6_1: case output::LANG_TPTP: case output::LANG_CVC4: case output::LANG_Z3STR: @@ -106,7 +105,6 @@ OutputLanguage toOutputLanguage(InputLanguage language) { case input::LANG_SMTLIB_V2_0: case input::LANG_SMTLIB_V2_5: case input::LANG_SMTLIB_V2_6: - case input::LANG_SMTLIB_V2_6_1: case input::LANG_TPTP: case input::LANG_CVC4: case input::LANG_Z3STR: @@ -152,11 +150,6 @@ OutputLanguage toOutputLanguage(std::string language) { || language == "LANG_SMTLIB_V2") { return output::LANG_SMTLIB_V2_6; - } - else if (language == "smtlib2.6.1" || language == "smt2.6.1" - || language == "LANG_SMTLIB_V2_6_1") - { - return output::LANG_SMTLIB_V2_6_1; } else if(language == "tptp" || language == "LANG_TPTP") { return output::LANG_TPTP; } else if(language == "z3str" || language == "z3-str" || @@ -197,11 +190,6 @@ InputLanguage toInputLanguage(std::string language) { language == "smtlib2.6" || language == "smt2.6" || language == "LANG_SMTLIB_V2_6" || language == "LANG_SMTLIB_V2") { return input::LANG_SMTLIB_V2_6; - } - else if (language == "smtlib2.6.1" || language == "smt2.6.1" - || language == "LANG_SMTLIB_V2_6_1") - { - return input::LANG_SMTLIB_V2_6_1; } else if(language == "tptp" || language == "LANG_TPTP") { return input::LANG_TPTP; } else if(language == "z3str" || language == "z3-str" || diff --git a/src/options/language.h b/src/options/language.h index 3a9ebf9d5..7866becd3 100644 --- a/src/options/language.h +++ b/src/options/language.h @@ -48,12 +48,10 @@ enum CVC4_PUBLIC Language LANG_SMTLIB_V2_0 = 0, /** The SMTLIB v2.5 input language */ LANG_SMTLIB_V2_5, - /** The SMTLIB v2.6 input language */ + /** The SMTLIB v2.6 input language, with support for the strings standard */ LANG_SMTLIB_V2_6, /** Backward-compatibility for enumeration naming */ LANG_SMTLIB_V2 = LANG_SMTLIB_V2_6, - /** The SMTLIB v2.6 input language, with support for the strings standard */ - LANG_SMTLIB_V2_6_1, /** The TPTP input language */ LANG_TPTP, /** The CVC4 input language */ @@ -87,7 +85,6 @@ inline std::ostream& operator<<(std::ostream& out, Language lang) { case LANG_SMTLIB_V2_6: out << "LANG_SMTLIB_V2_6"; break; - case LANG_SMTLIB_V2_6_1: out << "LANG_SMTLIB_V2_6_1"; break; case LANG_TPTP: out << "LANG_TPTP"; break; @@ -129,12 +126,10 @@ enum CVC4_PUBLIC Language LANG_SMTLIB_V2_0 = input::LANG_SMTLIB_V2_0, /** The SMTLIB v2.5 output language */ LANG_SMTLIB_V2_5 = input::LANG_SMTLIB_V2_5, - /** The SMTLIB v2.6 output language */ + /** The SMTLIB v2.6 output language, with support for the strings standard */ LANG_SMTLIB_V2_6 = input::LANG_SMTLIB_V2_6, /** Backward-compatibility for enumeration naming */ LANG_SMTLIB_V2 = input::LANG_SMTLIB_V2, - /** The SMTLIB v2.6 output language */ - LANG_SMTLIB_V2_6_1 = input::LANG_SMTLIB_V2_6_1, /** The TPTP output language */ LANG_TPTP = input::LANG_TPTP, /** The CVC4 output language */ @@ -168,7 +163,6 @@ inline std::ostream& operator<<(std::ostream& out, Language lang) { out << "LANG_SMTLIB_V2_5"; break; case LANG_SMTLIB_V2_6: out << "LANG_SMTLIB_V2_6"; break; - case LANG_SMTLIB_V2_6_1: out << "LANG_SMTLIB_V2_6_1"; break; case LANG_TPTP: out << "LANG_TPTP"; break; diff --git a/src/options/language.i b/src/options/language.i index f61359d4e..acda19aec 100644 --- a/src/options/language.i +++ b/src/options/language.i @@ -23,7 +23,6 @@ namespace CVC4 { %rename(INPUT_LANG_SMTLIB_V2_0) CVC4::language::input::LANG_SMTLIB_V2_0; %rename(INPUT_LANG_SMTLIB_V2_5) CVC4::language::input::LANG_SMTLIB_V2_5; %rename(INPUT_LANG_SMTLIB_V2_6) CVC4::language::input::LANG_SMTLIB_V2_6; -%rename(INPUT_LANG_SMTLIB_V2_6_1) CVC4::language::input::LANG_SMTLIB_V2_6_1; %rename(INPUT_LANG_TPTP) CVC4::language::input::LANG_TPTP; %rename(INPUT_LANG_CVC4) CVC4::language::input::LANG_CVC4; %rename(INPUT_LANG_MAX) CVC4::language::input::LANG_MAX; @@ -36,7 +35,6 @@ namespace CVC4 { %rename(OUTPUT_LANG_SMTLIB_V2_0) CVC4::language::output::LANG_SMTLIB_V2_0; %rename(OUTPUT_LANG_SMTLIB_V2_5) CVC4::language::output::LANG_SMTLIB_V2_5; %rename(OUTPUT_LANG_SMTLIB_V2_6) CVC4::language::output::LANG_SMTLIB_V2_6; -%rename(OUTPUT_LANG_SMTLIB_V2_6_1) CVC4::language::output::LANG_SMTLIB_V2_6_1; %rename(OUTPUT_LANG_TPTP) CVC4::language::output::LANG_TPTP; %rename(OUTPUT_LANG_CVC4) CVC4::language::output::LANG_CVC4; %rename(OUTPUT_LANG_AST) CVC4::language::output::LANG_AST; diff --git a/src/options/options_template.cpp b/src/options/options_template.cpp index 8a227a2e7..fe742adfc 100644 --- a/src/options/options_template.cpp +++ b/src/options/options_template.cpp @@ -416,8 +416,7 @@ Languages currently supported as arguments to the -L / --lang option:\n\ smt | smtlib | smt2 |\n\ smt2.0 | smtlib2 | smtlib2.0 SMT-LIB format 2.0\n\ smt2.5 | smtlib2.5 SMT-LIB format 2.5\n\ - smt2.6 | smtlib2.6 SMT-LIB format 2.6\n\ - smt2.6.1 | smtlib2.6.1 SMT-LIB format 2.6 with support for the strings standard\n\ + smt2.6 | smtlib2.6 SMT-LIB format 2.6 with support for the strings standard\n\ tptp TPTP format (cnf, fof and tff)\n\ sygus | sygus2 SyGuS version 1.0 and 2.0 formats\n\ \n\ @@ -428,8 +427,7 @@ Languages currently supported as arguments to the --output-lang option:\n\ smt | smtlib | smt2 |\n\ smt2.0 | smtlib2.0 | smtlib2 SMT-LIB format 2.0\n\ smt2.5 | smtlib2.5 SMT-LIB format 2.5\n\ - smt2.6 | smtlib2.6 SMT-LIB format 2.6\n\ - smt2.6.1 | smtlib2.6.1 SMT-LIB format 2.6 with support for the strings standard\n\ + smt2.6 | smtlib2.6 SMT-LIB format 2.6 with support for the strings standard\n\ tptp TPTP format\n\ z3str SMT-LIB 2.0 with Z3-str string constraints\n\ ast internal format (simple syntax trees)\n\ diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp index 5dca92370..c860d14c7 100644 --- a/src/parser/parser.cpp +++ b/src/parser/parser.cpp @@ -895,8 +895,7 @@ std::vector Parser::processAdHocStringEsc(const std::string& s) Expr Parser::mkStringConstant(const std::string& s) { ExprManager* em = d_solver->getExprManager(); - if (em->getOptions().getInputLanguage() - == language::input::LANG_SMTLIB_V2_6_1) + if (language::isInputLang_smt2_6(em->getOptions().getInputLanguage())) { return d_solver->mkString(s, true).getExpr(); } diff --git a/src/parser/parser.h b/src/parser/parser.h index cd4105cd0..7941cfdd5 100644 --- a/src/parser/parser.h +++ b/src/parser/parser.h @@ -842,7 +842,7 @@ public: * * This makes the string constant based on the string s. This may involve * processing ad-hoc escape sequences (if the language is not - * SMT-LIB 2.6.1 or higher), or otherwise calling the solver to construct + * SMT-LIB 2.6 or higher), or otherwise calling the solver to construct * the string. */ Expr mkStringConstant(const std::string& s); diff --git a/src/parser/smt2/smt2.cpp b/src/parser/smt2/smt2.cpp index 6cba1ce19..3c30f5c49 100644 --- a/src/parser/smt2/smt2.cpp +++ b/src/parser/smt2/smt2.cpp @@ -166,8 +166,8 @@ void Smt2::addStringOperators() { addOperator(api::STRING_SUFFIX, "str.suffixof"); addOperator(api::STRING_FROM_CODE, "str.from_code"); addOperator(api::STRING_IS_DIGIT, "str.is_digit"); - // at the moment, we only use this syntax for smt2.6.1 - if (getLanguage() == language::input::LANG_SMTLIB_V2_6_1 + // at the moment, we only use this syntax for smt2.6 + if (getLanguage() == language::input::LANG_SMTLIB_V2_6 || getLanguage() == language::input::LANG_SYGUS_V2) { addOperator(api::STRING_ITOS, "str.from_int"); @@ -682,7 +682,7 @@ Command* Smt2::setLogic(std::string name, bool fromCommand) defineType("RegLan", d_solver->getRegExpSort()); defineType("Int", d_solver->getIntegerSort()); - if (getLanguage() == language::input::LANG_SMTLIB_V2_6_1 + if (getLanguage() == language::input::LANG_SMTLIB_V2_6 || getLanguage() == language::input::LANG_SYGUS_V2) { defineVar("re.none", d_solver->mkRegexpEmpty()); diff --git a/src/printer/printer.cpp b/src/printer/printer.cpp index 886be0cfa..085a32c43 100644 --- a/src/printer/printer.cpp +++ b/src/printer/printer.cpp @@ -46,10 +46,6 @@ unique_ptr Printer::makePrinter(OutputLanguage lang) return unique_ptr( new printer::smt2::Smt2Printer(printer::smt2::smt2_6_variant)); - case LANG_SMTLIB_V2_6_1: - return unique_ptr( - new printer::smt2::Smt2Printer(printer::smt2::smt2_6_1_variant)); - case LANG_TPTP: return unique_ptr(new printer::tptp::TptpPrinter()); @@ -68,7 +64,7 @@ unique_ptr Printer::makePrinter(OutputLanguage lang) // sygus version 2.0 does not have discrepancies with smt2, hence we use // a normal smt2 variant here. return unique_ptr( - new printer::smt2::Smt2Printer(printer::smt2::smt2_6_1_variant)); + new printer::smt2::Smt2Printer(printer::smt2::smt2_6_variant)); case LANG_AST: return unique_ptr(new printer::ast::AstPrinter()); diff --git a/src/printer/smt2/smt2_printer.cpp b/src/printer/smt2/smt2_printer.cpp index 4013cbd08..fbccd26ed 100644 --- a/src/printer/smt2/smt2_printer.cpp +++ b/src/printer/smt2/smt2_printer.cpp @@ -48,10 +48,7 @@ static OutputLanguage variantToLanguage(Variant v); static string smtKindString(Kind k, Variant v); /** returns whether the variant is smt-lib 2.6 or greater */ -bool isVariant_2_6(Variant v) -{ - return v == smt2_6_variant || v == smt2_6_1_variant; -} +bool isVariant_2_6(Variant v) { return v == smt2_6_variant; } static void toStreamRational(std::ostream& out, const Rational& r, @@ -1203,8 +1200,7 @@ static string smtKindString(Kind k, Variant v) case kind::STRING_CHARAT: return "str.at" ; case kind::STRING_STRIDOF: return "str.indexof" ; case kind::STRING_STRREPL: return "str.replace" ; - case kind::STRING_STRREPLALL: - return v == smt2_6_1_variant ? "str.replace_all" : "str.replaceall"; + case kind::STRING_STRREPLALL: return "str.replace_all"; case kind::STRING_TOLOWER: return "str.tolower"; case kind::STRING_TOUPPER: return "str.toupper"; case kind::STRING_REV: return "str.rev"; @@ -1213,16 +1209,11 @@ static string smtKindString(Kind k, Variant v) case kind::STRING_LEQ: return "str.<="; case kind::STRING_LT: return "str.<"; case kind::STRING_FROM_CODE: return "str.from_code"; - case kind::STRING_TO_CODE: - return v == smt2_6_1_variant ? "str.to_code" : "str.code"; - case kind::STRING_ITOS: - return v == smt2_6_1_variant ? "str.from_int" : "int.to.str"; - case kind::STRING_STOI: - return v == smt2_6_1_variant ? "str.to_int" : "str.to.int"; - case kind::STRING_IN_REGEXP: - return v == smt2_6_1_variant ? "str.in_re" : "str.in.re"; - case kind::STRING_TO_REGEXP: - return v == smt2_6_1_variant ? "str.to_re" : "str.to.re"; + case kind::STRING_TO_CODE: return "str.to_code"; + case kind::STRING_ITOS: return "str.from_int"; + case kind::STRING_STOI: return "str.to_int"; + case kind::STRING_IN_REGEXP: return "str.in_re"; + case kind::STRING_TO_REGEXP: return "str.to_re"; case kind::REGEXP_EMPTY: return "re.nostr"; case kind::REGEXP_SIGMA: return "re.allchar"; case kind::REGEXP_CONCAT: return "re.++"; diff --git a/src/printer/smt2/smt2_printer.h b/src/printer/smt2/smt2_printer.h index 579231364..b34acacbb 100644 --- a/src/printer/smt2/smt2_printer.h +++ b/src/printer/smt2/smt2_printer.h @@ -30,13 +30,12 @@ namespace smt2 { enum Variant { no_variant, - smt2_0_variant, // old-style 2.0 syntax, when it makes a difference - smt2_6_variant, // new-style 2.6 syntax, when it makes a difference - smt2_6_1_variant, // new-style 2.6 syntax, when it makes a difference, with - // support for the string standard - z3str_variant, // old-style 2.0 and also z3str syntax - sygus_variant // variant for sygus -}; /* enum Variant */ + smt2_0_variant, // old-style 2.0 syntax, when it makes a difference + smt2_6_variant, // new-style 2.6 syntax, when it makes a difference, with + // support for the string standard + z3str_variant, // old-style 2.0 and also z3str syntax + sygus_variant // variant for sygus +}; /* enum Variant */ class Smt2Printer : public CVC4::Printer { public: Smt2Printer(Variant variant = no_variant) : d_variant(variant) { } diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp index 990ffd04d..d4e83c672 100644 --- a/src/smt/smt_engine.cpp +++ b/src/smt/smt_engine.cpp @@ -990,10 +990,6 @@ void SmtEngine::setInfo(const std::string& key, const CVC4::SExpr& value) value.getValue() == "2.6" ) { ilang = language::input::LANG_SMTLIB_V2_6; } - else if (value.getValue() == "2.6.1") - { - ilang = language::input::LANG_SMTLIB_V2_6_1; - } else { Warning() << "Warning: unsupported smt-lib-version: " << value << endl; diff --git a/test/regress/regress0/lang_opts_2_6_1.smt2 b/test/regress/regress0/lang_opts_2_6_1.smt2 index bb005d527..9701df455 100644 --- a/test/regress/regress0/lang_opts_2_6_1.smt2 +++ b/test/regress/regress0/lang_opts_2_6_1.smt2 @@ -1,7 +1,7 @@ ; Check that the language set in the command line options has higher priority ; than the language specified in the input file. ; -; COMMAND-LINE: --lang=smt2.6.1 -; EXPECT: "LANG_SMTLIB_V2_6_1" +; COMMAND-LINE: --lang=smt2.6 +; EXPECT: "LANG_SMTLIB_V2_6" (set-info :smt-lib-version 2.6) (get-option :input-language) diff --git a/test/regress/regress0/strings/bidir_star.smt2 b/test/regress/regress0/strings/bidir_star.smt2 index 7303d138f..8a13ed085 100644 --- a/test/regress/regress0/strings/bidir_star.smt2 +++ b/test/regress/regress0/strings/bidir_star.smt2 @@ -2,7 +2,7 @@ (set-logic SLIA) (declare-fun a () String) (assert (>= (str.len a) 2)) -(assert (str.in.re a (re.+ (re.range "0" "1")))) -(assert (<= 3 (str.to.int (str.substr a (+ (- 2) (str.len a)) 1)))) +(assert (str.in_re a (re.+ (re.range "0" "1")))) +(assert (<= 3 (str.to_int (str.substr a (+ (- 2) (str.len a)) 1)))) (set-info :status unsat) (check-sat) diff --git a/test/regress/regress0/strings/bug001.smt2 b/test/regress/regress0/strings/bug001.smt2 index cdeebd20b..a8d2d8992 100644 --- a/test/regress/regress0/strings/bug001.smt2 +++ b/test/regress/regress0/strings/bug001.smt2 @@ -1,3 +1,4 @@ +(set-info :smt-lib-version 2.5) (set-logic QF_S) (set-info :status sat) diff --git a/test/regress/regress0/strings/char-representations.smt2 b/test/regress/regress0/strings/char-representations.smt2 index aaf119ab4..1b3cef25a 100644 --- a/test/regress/regress0/strings/char-representations.smt2 +++ b/test/regress/regress0/strings/char-representations.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 +; COMMAND-LINE: --lang=smt2.6 ; EXPECT: sat (set-logic SLIA) (set-info :status sat) diff --git a/test/regress/regress0/strings/code-eval.smt2 b/test/regress/regress0/strings/code-eval.smt2 index faa5c174c..bc5f96494 100644 --- a/test/regress/regress0/strings/code-eval.smt2 +++ b/test/regress/regress0/strings/code-eval.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 +; COMMAND-LINE: --lang=smt2.6 ; EXPECT: sat (set-logic ALL) (set-info :status sat) diff --git a/test/regress/regress0/strings/code-perf.smt2 b/test/regress/regress0/strings/code-perf.smt2 index 4d7e22bd3..e2b41c67f 100644 --- a/test/regress/regress0/strings/code-perf.smt2 +++ b/test/regress/regress0/strings/code-perf.smt2 @@ -1,6 +1,6 @@ ; COMMAND-LINE: --strings-exp ; EXPECT: sat -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (declare-const x0 String) (declare-const x1 String) @@ -24,17 +24,17 @@ (declare-const y8 Int) (declare-const y9 Int) (declare-const y10 Int) -(assert (and (= y0 (str.code x0)) (>= y0 (str.code "0")) (<= y0 (str.code "9")))) -(assert (and (= y1 (str.code x1)) (>= y1 (str.code "0")) (<= y1 (str.code "9")))) -(assert (and (= y2 (str.code x2)) (>= y2 (str.code "0")) (<= y2 (str.code "9")))) -(assert (and (= y3 (str.code x3)) (>= y3 (str.code "0")) (<= y3 (str.code "9")))) -(assert (and (= y4 (str.code x4)) (>= y4 (str.code "0")) (<= y4 (str.code "9")))) -(assert (and (= y5 (str.code x5)) (>= y5 (str.code "0")) (<= y5 (str.code "9")))) -(assert (and (= y6 (str.code x6)) (>= y6 (str.code "0")) (<= y6 (str.code "9")))) -(assert (and (= y7 (str.code x7)) (>= y7 (str.code "0")) (<= y7 (str.code "9")))) -(assert (and (= y8 (str.code x8)) (>= y8 (str.code "0")) (<= y8 (str.code "9")))) -(assert (and (= y9 (str.code x9)) (>= y9 (str.code "0")) (<= y9 (str.code "9")))) -(assert (and (= y10 (str.code x10)) (>= y10 (str.code "0")) (<= y10 (str.code "9")))) +(assert (and (= y0 (str.to_code x0)) (>= y0 (str.to_code "0")) (<= y0 (str.to_code "9")))) +(assert (and (= y1 (str.to_code x1)) (>= y1 (str.to_code "0")) (<= y1 (str.to_code "9")))) +(assert (and (= y2 (str.to_code x2)) (>= y2 (str.to_code "0")) (<= y2 (str.to_code "9")))) +(assert (and (= y3 (str.to_code x3)) (>= y3 (str.to_code "0")) (<= y3 (str.to_code "9")))) +(assert (and (= y4 (str.to_code x4)) (>= y4 (str.to_code "0")) (<= y4 (str.to_code "9")))) +(assert (and (= y5 (str.to_code x5)) (>= y5 (str.to_code "0")) (<= y5 (str.to_code "9")))) +(assert (and (= y6 (str.to_code x6)) (>= y6 (str.to_code "0")) (<= y6 (str.to_code "9")))) +(assert (and (= y7 (str.to_code x7)) (>= y7 (str.to_code "0")) (<= y7 (str.to_code "9")))) +(assert (and (= y8 (str.to_code x8)) (>= y8 (str.to_code "0")) (<= y8 (str.to_code "9")))) +(assert (and (= y9 (str.to_code x9)) (>= y9 (str.to_code "0")) (<= y9 (str.to_code "9")))) +(assert (and (= y10 (str.to_code x10)) (>= y10 (str.to_code "0")) (<= y10 (str.to_code "9")))) (assert (= (str.len x0) 1)) (assert (= (str.len x1) 1)) (assert (= (str.len x2) 1)) diff --git a/test/regress/regress0/strings/code-sat-neg-one.smt2 b/test/regress/regress0/strings/code-sat-neg-one.smt2 index 403319d02..3e7161328 100644 --- a/test/regress/regress0/strings/code-sat-neg-one.smt2 +++ b/test/regress/regress0/strings/code-sat-neg-one.smt2 @@ -1,8 +1,8 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-info :status sat) (declare-fun x () String) (declare-fun y () String) (assert (not (= x y))) -(assert (= (str.code x) (str.code y))) +(assert (= (str.to_code x) (str.to_code y))) (check-sat) diff --git a/test/regress/regress0/strings/complement-simple.smt2 b/test/regress/regress0/strings/complement-simple.smt2 index c19699448..d86fcd225 100644 --- a/test/regress/regress0/strings/complement-simple.smt2 +++ b/test/regress/regress0/strings/complement-simple.smt2 @@ -1,5 +1,5 @@ (set-logic SLIA) (set-info :status sat) (declare-fun x () String) -(assert (str.in.re x (re.comp (str.to.re "ABC")))) +(assert (str.in_re x (re.comp (str.to_re "ABC")))) (check-sat) diff --git a/test/regress/regress0/strings/escchar_25.smt2 b/test/regress/regress0/strings/escchar_25.smt2 index af93a7ae5..a8a7c242f 100644 --- a/test/regress/regress0/strings/escchar_25.smt2 +++ b/test/regress/regress0/strings/escchar_25.smt2 @@ -1,6 +1,6 @@ (set-logic QF_S) (set-info :status sat) -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (declare-fun x () String) (declare-const I Int) diff --git a/test/regress/regress0/strings/from_code.smt2 b/test/regress/regress0/strings/from_code.smt2 index ecde829ec..c9b49a931 100644 --- a/test/regress/regress0/strings/from_code.smt2 +++ b/test/regress/regress0/strings/from_code.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 +; COMMAND-LINE: --lang=smt2.6 ; EXPECT: unsat ; EXPECT: unsat ; EXPECT: sat diff --git a/test/regress/regress0/strings/gen-esc-seq.smt2 b/test/regress/regress0/strings/gen-esc-seq.smt2 index 59f66046f..19edd7fc0 100644 --- a/test/regress/regress0/strings/gen-esc-seq.smt2 +++ b/test/regress/regress0/strings/gen-esc-seq.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --produce-models --lang=smt2.6.1 +; COMMAND-LINE: --produce-models --lang=smt2.6 ; EXPECT: sat ; EXPECT: ((x "\u{5c}u1000")) (set-logic ALL) diff --git a/test/regress/regress0/strings/is_digit_simple.smt2 b/test/regress/regress0/strings/is_digit_simple.smt2 index d95a22078..d69ec6b21 100644 --- a/test/regress/regress0/strings/is_digit_simple.smt2 +++ b/test/regress/regress0/strings/is_digit_simple.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 +; COMMAND-LINE: --lang=smt2.6 ; EXPECT: sat (set-logic ALL) (set-info :status sat) diff --git a/test/regress/regress0/strings/issue1189.smt2 b/test/regress/regress0/strings/issue1189.smt2 index 0b581994c..3200c815d 100644 --- a/test/regress/regress0/strings/issue1189.smt2 +++ b/test/regress/regress0/strings/issue1189.smt2 @@ -1,7 +1,7 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL_SUPPORTED) (set-info :status unsat) (set-option :strings-exp true) (declare-const x Int) -(assert (str.contains (str.++ "some text" (int.to.str x) "tor") "vector")) +(assert (str.contains (str.++ "some text" (str.from_int x) "tor") "vector")) (check-sat) diff --git a/test/regress/regress0/strings/issue2958.smt2 b/test/regress/regress0/strings/issue2958.smt2 index 7ed5ef7f3..99d8462c3 100644 --- a/test/regress/regress0/strings/issue2958.smt2 +++ b/test/regress/regress0/strings/issue2958.smt2 @@ -1,7 +1,7 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-info :status unsat) (declare-const x String) (assert (not (str.prefixof "ab" x))) -(assert (str.in.re (str.substr x 0 2) (re.++ (str.to.re "ab") (re.* (str.to.re "dcab"))))) +(assert (str.in_re (str.substr x 0 2) (re.++ (str.to_re "ab") (re.* (str.to_re "dcab"))))) (check-sat) diff --git a/test/regress/regress0/strings/issue3440.smt2 b/test/regress/regress0/strings/issue3440.smt2 index 7eb3419f2..32f6bf90f 100644 --- a/test/regress/regress0/strings/issue3440.smt2 +++ b/test/regress/regress0/strings/issue3440.smt2 @@ -1,6 +1,6 @@ ; COMMAND-LINE: --no-strings-lazy-pp ; EXPECT: sat -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-info :status sat) (declare-fun a () String) diff --git a/test/regress/regress0/strings/issue3497.smt2 b/test/regress/regress0/strings/issue3497.smt2 index c804de820..99597dffa 100644 --- a/test/regress/regress0/strings/issue3497.smt2 +++ b/test/regress/regress0/strings/issue3497.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-info :status sat) (set-option :strings-exp true) diff --git a/test/regress/regress0/strings/issue3657-evalLeq.smt2 b/test/regress/regress0/strings/issue3657-evalLeq.smt2 index a557f4e62..91295f73a 100644 --- a/test/regress/regress0/strings/issue3657-evalLeq.smt2 +++ b/test/regress/regress0/strings/issue3657-evalLeq.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (assert (not (str.< "\xe8" "\x19"))) diff --git a/test/regress/regress0/strings/issue4070.smt2 b/test/regress/regress0/strings/issue4070.smt2 index 2de58c4d2..a629c30ec 100644 --- a/test/regress/regress0/strings/issue4070.smt2 +++ b/test/regress/regress0/strings/issue4070.smt2 @@ -2,5 +2,5 @@ (set-logic QF_S) (declare-fun a () String) (declare-fun b () String) -(assert (str.in.re a (re.++ (str.to.re b) (re.* re.allchar)))) +(assert (str.in_re a (re.++ (str.to_re b) (re.* re.allchar)))) (check-sat) diff --git a/test/regress/regress0/strings/issue4376.smt2 b/test/regress/regress0/strings/issue4376.smt2 index f6dd88059..3a7088c5b 100644 --- a/test/regress/regress0/strings/issue4376.smt2 +++ b/test/regress/regress0/strings/issue4376.smt2 @@ -7,5 +7,5 @@ (declare-const Str11 String) (declare-const Str15 String) (assert (= (str.++ Str1 "ijruldtzyp") Str15)) -(assert (= (str.++ (str.++ Str1 "ijruldtzyp") Str11 (int.to.str i0)) Str15 Str9)) +(assert (= (str.++ (str.++ Str1 "ijruldtzyp") Str11 (str.from_int i0)) Str15 Str9)) (check-sat) diff --git a/test/regress/regress0/strings/itos-entail.smt2 b/test/regress/regress0/strings/itos-entail.smt2 index f9dcf4c77..aca5e4f6a 100644 --- a/test/regress/regress0/strings/itos-entail.smt2 +++ b/test/regress/regress0/strings/itos-entail.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (set-option :strings-exp true) @@ -6,6 +6,6 @@ (declare-fun y () String) (declare-fun z () String) -(assert (str.contains "ABCD" (str.++ y (int.to.str x) z))) +(assert (str.contains "ABCD" (str.++ y (str.from_int x) z))) (check-sat) diff --git a/test/regress/regress0/strings/large-model.smt2 b/test/regress/regress0/strings/large-model.smt2 index ca52e816b..74b781c82 100644 --- a/test/regress/regress0/strings/large-model.smt2 +++ b/test/regress/regress0/strings/large-model.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 --check-models +; COMMAND-LINE: --lang=smt2.6 --check-models ; EXPECT: (error "Cannot generate model with string whose length exceeds UINT32_MAX") ; EXIT: 1 (set-logic SLIA) diff --git a/test/regress/regress0/strings/leadingzero001.smt2 b/test/regress/regress0/strings/leadingzero001.smt2 index 09fd80a7b..d646a8930 100644 --- a/test/regress/regress0/strings/leadingzero001.smt2 +++ b/test/regress/regress0/strings/leadingzero001.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-option :strings-exp true) (set-info :status sat) @@ -6,7 +6,7 @@ (declare-fun Y () String) (assert (= Y "0001")) -;(assert (= (str.to.int Y) (- 1))) -(assert (= (str.to.int Y) 1)) +;(assert (= (str.to_int Y) (- 1))) +(assert (= (str.to_int Y) 1)) (check-sat) diff --git a/test/regress/regress0/strings/loop-wrong-sem.smt2 b/test/regress/regress0/strings/loop-wrong-sem.smt2 index d0dd3fcb2..32ec26c0a 100644 --- a/test/regress/regress0/strings/loop-wrong-sem.smt2 +++ b/test/regress/regress0/strings/loop-wrong-sem.smt2 @@ -1,4 +1,4 @@ (set-logic ALL) (set-info :status unsat) -(assert (str.in.re "" ((_ re.loop 1 0) (str.to.re "")))) +(assert (str.in_re "" ((_ re.loop 1 0) (str.to_re "")))) (check-sat) diff --git a/test/regress/regress0/strings/model-code-point.smt2 b/test/regress/regress0/strings/model-code-point.smt2 index 1200ae704..86cb24fc7 100644 --- a/test/regress/regress0/strings/model-code-point.smt2 +++ b/test/regress/regress0/strings/model-code-point.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 --produce-models +; COMMAND-LINE: --lang=smt2.6 --produce-models ; EXPECT: sat ; EXPECT: ((x "\u{a}")) ; EXPECT: ((y "\u{7f}")) diff --git a/test/regress/regress0/strings/model-friendly.smt2 b/test/regress/regress0/strings/model-friendly.smt2 index 985ffaa62..21a89c00c 100644 --- a/test/regress/regress0/strings/model-friendly.smt2 +++ b/test/regress/regress0/strings/model-friendly.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 --produce-models +; COMMAND-LINE: --lang=smt2.6 --produce-models ; EXPECT: sat ; EXPECT: ((x "AAAAA")) (set-logic ALL) diff --git a/test/regress/regress0/strings/norn-31.smt2 b/test/regress/regress0/strings/norn-31.smt2 index 1830dd882..be759a885 100644 --- a/test/regress/regress0/strings/norn-31.smt2 +++ b/test/regress/regress0/strings/norn-31.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-option :strings-exp true) (set-info :status unsat) @@ -17,8 +17,8 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re var_1 (re.* (re.range "a" "u")))) -(assert (str.in.re var_1 (re.++ (re.* (str.to.re "a")) (str.to.re "b")))) -(assert (str.in.re var_1 (re.++ (re.++ (re.++ (re.* (re.union (str.to.re "a") (str.to.re "b"))) (str.to.re "b")) (str.to.re "a")) (re.* (re.union (str.to.re "a") (str.to.re "b")))))) -(assert (not (str.in.re "" re.nostr))) +(assert (str.in_re var_1 (re.* (re.range "a" "u")))) +(assert (str.in_re var_1 (re.++ (re.* (str.to_re "a")) (str.to_re "b")))) +(assert (str.in_re var_1 (re.++ (re.++ (re.++ (re.* (re.union (str.to_re "a") (str.to_re "b"))) (str.to_re "b")) (str.to_re "a")) (re.* (re.union (str.to_re "a") (str.to_re "b")))))) +(assert (not (str.in_re "" re.none))) (check-sat) diff --git a/test/regress/regress0/strings/norn-simp-rew.smt2 b/test/regress/regress0/strings/norn-simp-rew.smt2 index d729fe5d0..4ef281ce9 100644 --- a/test/regress/regress0/strings/norn-simp-rew.smt2 +++ b/test/regress/regress0/strings/norn-simp-rew.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-option :strings-exp true) (set-info :status unsat) @@ -17,14 +17,14 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.union (re.union (str.to.re "z") (str.to.re "a")) (re.++ (str.to.re "b") (re.++ (re.* (str.to.re "b")) (re.union (str.to.re "z") (str.to.re "a")))))) (re.++ (str.to.re "b") (re.* (str.to.re "b")))))) -(assert (str.in.re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.union (str.to.re "a") (re.++ (str.to.re "b") (re.++ (re.* (re.union (str.to.re "b") (str.to.re "a"))) (str.to.re "z"))))) (re.++ (str.to.re "b") (re.* (re.union (str.to.re "b") (str.to.re "a"))))))) -(assert (str.in.re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.++ (str.to.re "b") (re.++ (re.* (re.union (str.to.re "z") (str.to.re "b"))) (str.to.re "a")))) (re.++ (str.to.re "b") (re.* (re.union (str.to.re "z") (str.to.re "b"))))))) -(assert (str.in.re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.union (str.to.re "z") (re.++ (re.union (str.to.re "b") (str.to.re "a")) (re.union (str.to.re "z") (str.to.re "b"))))) (re.union (str.to.re "b") (str.to.re "a"))))) -(assert (str.in.re (str.++ var_7 "z" var_8 ) (re.* (re.++ (str.to.re "b") (re.++ (re.* (str.to.re "z")) (str.to.re "b")))))) -(assert (str.in.re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.++ (str.to.re "b") (str.to.re "z"))) (str.to.re "b")))) -(assert (str.in.re (str.++ "a" var_8 ) (re.* (re.range "a" "u")))) -(assert (str.in.re var_8 (re.* (re.range "a" "u")))) -(assert (str.in.re var_7 (re.* (re.range "a" "u")))) -(assert (not (str.in.re (str.++ "b" var_7 ) (re.* (re.range "a" "u"))))) +(assert (str.in_re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.union (re.union (str.to_re "z") (str.to_re "a")) (re.++ (str.to_re "b") (re.++ (re.* (str.to_re "b")) (re.union (str.to_re "z") (str.to_re "a")))))) (re.++ (str.to_re "b") (re.* (str.to_re "b")))))) +(assert (str.in_re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.union (str.to_re "a") (re.++ (str.to_re "b") (re.++ (re.* (re.union (str.to_re "b") (str.to_re "a"))) (str.to_re "z"))))) (re.++ (str.to_re "b") (re.* (re.union (str.to_re "b") (str.to_re "a"))))))) +(assert (str.in_re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.++ (str.to_re "b") (re.++ (re.* (re.union (str.to_re "z") (str.to_re "b"))) (str.to_re "a")))) (re.++ (str.to_re "b") (re.* (re.union (str.to_re "z") (str.to_re "b"))))))) +(assert (str.in_re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.union (str.to_re "z") (re.++ (re.union (str.to_re "b") (str.to_re "a")) (re.union (str.to_re "z") (str.to_re "b"))))) (re.union (str.to_re "b") (str.to_re "a"))))) +(assert (str.in_re (str.++ var_7 "z" var_8 ) (re.* (re.++ (str.to_re "b") (re.++ (re.* (str.to_re "z")) (str.to_re "b")))))) +(assert (str.in_re (str.++ var_7 "z" var_8 ) (re.++ (re.* (re.++ (str.to_re "b") (str.to_re "z"))) (str.to_re "b")))) +(assert (str.in_re (str.++ "a" var_8 ) (re.* (re.range "a" "u")))) +(assert (str.in_re var_8 (re.* (re.range "a" "u")))) +(assert (str.in_re var_7 (re.* (re.range "a" "u")))) +(assert (not (str.in_re (str.++ "b" var_7 ) (re.* (re.range "a" "u"))))) (check-sat) diff --git a/test/regress/regress0/strings/re-syntax.smt2 b/test/regress/regress0/strings/re-syntax.smt2 index 4c25a65a4..f073884b8 100644 --- a/test/regress/regress0/strings/re-syntax.smt2 +++ b/test/regress/regress0/strings/re-syntax.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 +; COMMAND-LINE: --lang=smt2.6 ; EXPECT: unsat (set-logic ALL) (set-info :status unsat) diff --git a/test/regress/regress0/strings/re.all.smt2 b/test/regress/regress0/strings/re.all.smt2 index 5200b924f..d17a0d049 100644 --- a/test/regress/regress0/strings/re.all.smt2 +++ b/test/regress/regress0/strings/re.all.smt2 @@ -1,6 +1,6 @@ (set-logic QF_SLIA) (set-info :status unsat) (declare-const x String) -(assert (str.in.re x (re.++ (str.to.re "abc") re.all))) +(assert (str.in_re x (re.++ (str.to_re "abc") re.all))) (assert (not (str.prefixof "abc" x))) (check-sat) diff --git a/test/regress/regress0/strings/re_diff.smt2 b/test/regress/regress0/strings/re_diff.smt2 index d63731acb..a20c5be7e 100644 --- a/test/regress/regress0/strings/re_diff.smt2 +++ b/test/regress/regress0/strings/re_diff.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 +; COMMAND-LINE: --lang=smt2.6 ; EXPECT: unsat (set-logic ALL) (set-info :status unsat) diff --git a/test/regress/regress0/strings/regexp_inclusion.smt2 b/test/regress/regress0/strings/regexp_inclusion.smt2 index c5c68a408..648a1b111 100644 --- a/test/regress/regress0/strings/regexp_inclusion.smt2 +++ b/test/regress/regress0/strings/regexp_inclusion.smt2 @@ -4,10 +4,10 @@ (declare-const actionName String) (assert -(str.in.re actionName (re.++ (str.to.re "wiz") (re.* re.allchar) (str.to.re "foobar") (re.* re.allchar) (str.to.re "baz/") (re.* re.allchar)))) +(str.in_re actionName (re.++ (str.to_re "wiz") (re.* re.allchar) (str.to_re "foobar") (re.* re.allchar) (str.to_re "baz/") (re.* re.allchar)))) (assert (not -(str.in.re actionName (re.++ (str.to.re "wiz") (re.* re.allchar) (re.++ (str.to.re "foo") re.allchar (str.to.re "ar")) (re.* re.allchar) (str.to.re "baz/") (re.* re.allchar))) +(str.in_re actionName (re.++ (str.to_re "wiz") (re.* re.allchar) (re.++ (str.to_re "foo") re.allchar (str.to_re "ar")) (re.* re.allchar) (str.to_re "baz/") (re.* re.allchar))) )) (check-sat) diff --git a/test/regress/regress0/strings/regexp_inclusion_reduction.smt2 b/test/regress/regress0/strings/regexp_inclusion_reduction.smt2 index c10c287bb..20ac8f4e4 100644 --- a/test/regress/regress0/strings/regexp_inclusion_reduction.smt2 +++ b/test/regress/regress0/strings/regexp_inclusion_reduction.smt2 @@ -4,11 +4,11 @@ (declare-const x String) (declare-const y String) -(assert (str.in.re x (re.++ (str.to.re "bar") (re.* re.allchar) (str.to.re "bar")))) -(assert (str.in.re x (re.++ (str.to.re "ba") re.allchar (re.* re.allchar) (str.to.re "bar")))) +(assert (str.in_re x (re.++ (str.to_re "bar") (re.* re.allchar) (str.to_re "bar")))) +(assert (str.in_re x (re.++ (str.to_re "ba") re.allchar (re.* re.allchar) (str.to_re "bar")))) -(assert (not (str.in.re y (re.++ (str.to.re "bar") (re.* re.allchar) (str.to.re "bar"))))) -(assert (not (str.in.re y (re.++ (str.to.re "ba") re.allchar (re.* re.allchar) (str.to.re "bar"))))) +(assert (not (str.in_re y (re.++ (str.to_re "bar") (re.* re.allchar) (str.to_re "bar"))))) +(assert (not (str.in_re y (re.++ (str.to_re "ba") re.allchar (re.* re.allchar) (str.to_re "bar"))))) (assert (not (= y ""))) (check-sat) diff --git a/test/regress/regress0/strings/replace-const.smt2 b/test/regress/regress0/strings/replace-const.smt2 index a7f225e33..8b1b182e3 100644 --- a/test/regress/regress0/strings/replace-const.smt2 +++ b/test/regress/regress0/strings/replace-const.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (declare-fun x () String) diff --git a/test/regress/regress0/strings/replaceall-eval.smt2 b/test/regress/regress0/strings/replaceall-eval.smt2 index c118a7dc4..f2edfe3fb 100644 --- a/test/regress/regress0/strings/replaceall-eval.smt2 +++ b/test/regress/regress0/strings/replaceall-eval.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --lang=smt2.6.1 +; COMMAND-LINE: --lang=smt2.6 ; EXPECT: sat (set-logic ALL) (set-info :status sat) diff --git a/test/regress/regress0/strings/rewrites-re-concat.smt2 b/test/regress/regress0/strings/rewrites-re-concat.smt2 index fe6691e73..f2004204a 100644 --- a/test/regress/regress0/strings/rewrites-re-concat.smt2 +++ b/test/regress/regress0/strings/rewrites-re-concat.smt2 @@ -1,20 +1,20 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic SLIA) (set-info :status unsat) (declare-fun x () String) -(assert (str.in.re x (re.++ (str.to.re "baa") (re.* (str.to.re "a")) (re.* (str.to.re "c"))))) +(assert (str.in_re x (re.++ (str.to_re "baa") (re.* (str.to_re "a")) (re.* (str.to_re "c"))))) (declare-fun y () String) (assert (< (str.len y) 2)) (assert (or -(not (str.in.re x (re.++ (str.to.re "baa") (re.* (str.to.re "a")) (re.* (str.to.re "a")) (re.* (str.to.re "c"))))) -(not (str.in.re x (re.++ (str.to.re "ba") (str.to.re "") (re.* (str.to.re "a")) (str.to.re "a") (re.* (str.to.re "c"))))) -(not (str.in.re x (re.++ (str.to.re "b") (re.* (str.to.re "a")) (str.to.re "a") (re.* (str.to.re "a")) (str.to.re "a") (re.* (str.to.re "c"))))) +(not (str.in_re x (re.++ (str.to_re "baa") (re.* (str.to_re "a")) (re.* (str.to_re "a")) (re.* (str.to_re "c"))))) +(not (str.in_re x (re.++ (str.to_re "ba") (str.to_re "") (re.* (str.to_re "a")) (str.to_re "a") (re.* (str.to_re "c"))))) +(not (str.in_re x (re.++ (str.to_re "b") (re.* (str.to_re "a")) (str.to_re "a") (re.* (str.to_re "a")) (str.to_re "a") (re.* (str.to_re "c"))))) -(str.in.re y (re.++ re.allchar re.allchar (re.* re.allchar) re.allchar)) -(str.in.re y (re.++ re.allchar re.allchar re.allchar)) +(str.in_re y (re.++ re.allchar re.allchar (re.* re.allchar) re.allchar)) +(str.in_re y (re.++ re.allchar re.allchar re.allchar)) ) ) diff --git a/test/regress/regress0/strings/rewrites-v2.smt2 b/test/regress/regress0/strings/rewrites-v2.smt2 index 15954525f..be9f18681 100644 --- a/test/regress/regress0/strings/rewrites-v2.smt2 +++ b/test/regress/regress0/strings/rewrites-v2.smt2 @@ -1,6 +1,6 @@ ; COMMAND-LINE: --strings-exp ; EXPECT: unsat -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic SLIA) (set-info :status unsat) (declare-fun x () String) @@ -9,8 +9,8 @@ ; these should all rewrite to false (assert (or -(str.contains "abcdef0ghij1abced" (str.++ "g" (int.to.str (str.len z)) x "a" y (int.to.str (+ (str.len z) 1)))) -(str.contains "abc23cd" (str.++ (int.to.str (str.len z)) (int.to.str (str.len z)) (int.to.str (str.len z)))) +(str.contains "abcdef0ghij1abced" (str.++ "g" (str.from_int (str.len z)) x "a" y (str.from_int (+ (str.len z) 1)))) +(str.contains "abc23cd" (str.++ (str.from_int (str.len z)) (str.from_int (str.len z)) (str.from_int (str.len z)))) (not (str.contains (str.++ x "ab" y) (str.++ "b" (str.substr y 0 4)))) (not (str.contains (str.++ x "ab" y) (str.++ (str.substr x 5 (str.len x)) "a"))) (str.contains (str.++ x y) (str.++ x "a" y)) diff --git a/test/regress/regress0/strings/std2.6.1.smt2 b/test/regress/regress0/strings/std2.6.1.smt2 index d30cfc83c..8881f874d 100644 --- a/test/regress/regress0/strings/std2.6.1.smt2 +++ b/test/regress/regress0/strings/std2.6.1.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --strings-exp --lang=smt2.6.1 +; COMMAND-LINE: --strings-exp --lang=smt2.6 ; EXPECT: sat (set-logic QF_UFSLIA) (set-info :status sat) diff --git a/test/regress/regress0/strings/strip-endpoint-itos.smt2 b/test/regress/regress0/strings/strip-endpoint-itos.smt2 index c8d8c5af3..4f098e319 100644 --- a/test/regress/regress0/strings/strip-endpoint-itos.smt2 +++ b/test/regress/regress0/strings/strip-endpoint-itos.smt2 @@ -1,7 +1,7 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-option :strings-exp true) (set-info :status sat) (declare-fun x () Int) -(assert (str.contains "Ducati100" (int.to.str x))) +(assert (str.contains "Ducati100" (str.from_int x))) (check-sat) diff --git a/test/regress/regress0/strings/tolower-rrs.smt2 b/test/regress/regress0/strings/tolower-rrs.smt2 index 7b8b393cd..217255807 100644 --- a/test/regress/regress0/strings/tolower-rrs.smt2 +++ b/test/regress/regress0/strings/tolower-rrs.smt2 @@ -1,6 +1,6 @@ ; COMMAND-LINE: --strings-exp ; EXPECT: unsat -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status unsat) (declare-fun x () String) @@ -9,7 +9,7 @@ (assert (or (not (= (str.tolower (str.toupper (str.tolower x))) (str.tolower x))) (not (= (str.tolower (str.++ x "A")) (str.++ (str.tolower x) "a"))) -(not (= (str.tolower (int.to.str y)) (int.to.str y))) +(not (= (str.tolower (str.from_int y)) (str.from_int y))) )) (check-sat) diff --git a/test/regress/regress0/strings/type001.smt2 b/test/regress/regress0/strings/type001.smt2 index 36a6aaec1..168d066ea 100644 --- a/test/regress/regress0/strings/type001.smt2 +++ b/test/regress/regress0/strings/type001.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-info :status sat) (set-option :strings-exp true) @@ -10,13 +10,13 @@ (declare-fun z () String) ;big num test -(assert (= x (int.to.str 4785582390527685649))) +(assert (= x (str.from_int 4785582390527685649))) ;should be "" -(assert (= y (int.to.str (- 9)))) +(assert (= y (str.from_int (- 9)))) ;big num -(assert (= i (str.to.int "783914785582390527685649"))) +(assert (= i (str.to_int "783914785582390527685649"))) ;should be -1 -(assert (= j (str.to.int "-783914785582390527685649"))) +(assert (= j (str.to_int "-783914785582390527685649"))) (check-sat) diff --git a/test/regress/regress0/strings/unicode-esc.smt2 b/test/regress/regress0/strings/unicode-esc.smt2 index 02b313d4a..4039ecd0a 100644 --- a/test/regress/regress0/strings/unicode-esc.smt2 +++ b/test/regress/regress0/strings/unicode-esc.smt2 @@ -1,4 +1,4 @@ -; COMMAND-LINE: --strings-exp --lang=smt2.6.1 +; COMMAND-LINE: --strings-exp --lang=smt2.6 ; EXPECT: sat (set-logic ALL) diff --git a/test/regress/regress1/fmf/bug723-irrelevant-funs.smt2 b/test/regress/regress1/fmf/bug723-irrelevant-funs.smt2 index b9141f2e2..d700d3b18 100644 --- a/test/regress/regress1/fmf/bug723-irrelevant-funs.smt2 +++ b/test/regress/regress1/fmf/bug723-irrelevant-funs.smt2 @@ -5,7 +5,7 @@ (define-fun $$isFalse$$ ((b Bool)) Bool (not b)) (define-fun $$toString$$ ((b Bool)) String (ite b "true" "false")) (define-fun $$fromString$$ ((s String)) Bool (= s "true")) -(define-fun $$inttostr$$ ((i Int)) String (ite (< i 0) (str.++ "-" (int.to.str (- i))) (int.to.str i))) +(define-fun $$inttostr$$ ((i Int)) String (ite (< i 0) (str.++ "-" (str.from_int (- i))) (str.from_int i))) (declare-fun $$takeWhile$$ (String String) String) (declare-fun $$takeWhileNot$$ (String String) String) (declare-fun $$dropWhile$$ (String String) String) diff --git a/test/regress/regress1/strings/artemis-0512-nonterm.smt2 b/test/regress/regress1/strings/artemis-0512-nonterm.smt2 index 328317ea4..1d76f3ca0 100644 --- a/test/regress/regress1/strings/artemis-0512-nonterm.smt2 +++ b/test/regress/regress1/strings/artemis-0512-nonterm.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-option :strings-exp true) (set-info :status unsat) @@ -21,7 +21,7 @@ ) ) -(assert (= (<= (str.to.int Y) 31) false)) +(assert (= (<= (str.to_int Y) 31) false)) (check-sat) diff --git a/test/regress/regress1/strings/bug615.smt2 b/test/regress/regress1/strings/bug615.smt2 index 673b0dbd0..3098a59ba 100644 --- a/test/regress/regress1/strings/bug615.smt2 +++ b/test/regress/regress1/strings/bug615.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-option :strings-exp true) (set-info :status sat) @@ -11,16 +11,16 @@ (assert (str.contains joined "")) ; ()+ -(assert (str.in.re joined +(assert (str.in_re joined (re.+ (re.++ - (str.to.re "") + (str.to_re "") )) )) diff --git a/test/regress/regress1/strings/bug799-min.smt2 b/test/regress/regress1/strings/bug799-min.smt2 index 0cd15af4e..d6054925d 100644 --- a/test/regress/regress1/strings/bug799-min.smt2 +++ b/test/regress/regress1/strings/bug799-min.smt2 @@ -1,6 +1,6 @@ ; COMMAND-LINE: --incremental --strings-exp ; EXPECT: sat -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) @@ -14,6 +14,6 @@ (assert (= (str.at u 8) "6")) (push 1) -(assert (str.in.re s (re.range "0" "3"))) +(assert (str.in_re s (re.range "0" "3"))) (check-sat) diff --git a/test/regress/regress1/strings/code-sequence.smt2 b/test/regress/regress1/strings/code-sequence.smt2 index 2654017d4..e378f9850 100644 --- a/test/regress/regress1/strings/code-sequence.smt2 +++ b/test/regress/regress1/strings/code-sequence.smt2 @@ -6,9 +6,9 @@ (declare-fun x () String) (assert (forall ((n Int)) (=> (and (<= 0 n) (< n (str.len x))) (and -(<= 60 (str.code (str.at x n))) -(<= (str.code (str.at x n)) 90) -(< (+ 1 (str.code (str.at x (- n 1)))) (str.code (str.at x n))) +(<= 60 (str.to_code (str.at x n))) +(<= (str.to_code (str.at x n)) 90) +(< (+ 1 (str.to_code (str.at x (- n 1)))) (str.to_code (str.at x n))) )))) (assert (> (str.len x) 3)) (check-sat) diff --git a/test/regress/regress1/strings/complement-test.smt2 b/test/regress/regress1/strings/complement-test.smt2 index 1fcbdc2c3..5d3c8310f 100644 --- a/test/regress/regress1/strings/complement-test.smt2 +++ b/test/regress/regress1/strings/complement-test.smt2 @@ -5,8 +5,8 @@ (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 +(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)))))) + (re.comp (str.to_re "AB")) + (re.comp (re.++ (str.to_re "AB") (re.range "A" "E") (re.* re.allchar)))))) (check-sat) diff --git a/test/regress/regress1/strings/fmf001.smt2 b/test/regress/regress1/strings/fmf001.smt2 index 71ae63e87..4c6b2091b 100644 --- a/test/regress/regress1/strings/fmf001.smt2 +++ b/test/regress/regress1/strings/fmf001.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-option :strings-exp true) (set-option :strings-fmf true) @@ -7,12 +7,12 @@ (declare-fun x () String) (declare-fun y () String) -(assert (str.in.re x - (re.* (re.++ (re.* (str.to.re "a") ) (str.to.re "b") )) +(assert (str.in_re x + (re.* (re.++ (re.* (str.to_re "a") ) (str.to_re "b") )) )) -(assert (str.in.re y - (re.* (re.++ (re.* (str.to.re "a") ) (str.to.re "b") )) +(assert (str.in_re y + (re.* (re.++ (re.* (str.to_re "a") ) (str.to_re "b") )) )) (assert (not (= x y))) diff --git a/test/regress/regress1/strings/fmf002.smt2 b/test/regress/regress1/strings/fmf002.smt2 index 2f2209ae7..8daaa6ee4 100644 --- a/test/regress/regress1/strings/fmf002.smt2 +++ b/test/regress/regress1/strings/fmf002.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-option :strings-exp true) (set-option :strings-fmf true) @@ -8,7 +8,7 @@ (declare-fun y () String) (declare-fun z () String) -(assert (str.in.re x +(assert (str.in_re x (re.+ (re.range "a" "c")) )) diff --git a/test/regress/regress1/strings/issue1684-regex.smt2 b/test/regress/regress1/strings/issue1684-regex.smt2 index 35eb8456d..de0739bd8 100644 --- a/test/regress/regress1/strings/issue1684-regex.smt2 +++ b/test/regress/regress1/strings/issue1684-regex.smt2 @@ -5,4 +5,4 @@ (declare-const s String) (assert (str.in.re s (re.* (re.range "\x00" "\xFF")))) (assert (str.in.re s (re.range "\x00" "\xFF"))) -(check-sat) \ No newline at end of file +(check-sat) diff --git a/test/regress/regress1/strings/issue2060.smt2 b/test/regress/regress1/strings/issue2060.smt2 index 784fe1862..ade68a6a1 100644 --- a/test/regress/regress1/strings/issue2060.smt2 +++ b/test/regress/regress1/strings/issue2060.smt2 @@ -4,8 +4,8 @@ (declare-const action String) (declare-const example_key String) -(assert (str.in.re action (re.++ - (str.to.re "foobar:ab") +(assert (str.in_re action (re.++ + (str.to_re "foobar:ab") (re.* re.allchar) ))) diff --git a/test/regress/regress1/strings/issue2429-code.smt2 b/test/regress/regress1/strings/issue2429-code.smt2 index 9dc29794e..ea564dc48 100644 --- a/test/regress/regress1/strings/issue2429-code.smt2 +++ b/test/regress/regress1/strings/issue2429-code.smt2 @@ -3,7 +3,7 @@ (set-option :produce-models true) (set-info :status sat) -(define-fun byte_2_int ((s String)) Int (ite (= (str.len s) 1) (str.code s) 256)) +(define-fun byte_2_int ((s String)) Int (ite (= (str.len s) 1) (str.to_code s) 256)) (define-fun read_buffer16 ((s1 String) (s2 String)) Int (+ (* 256 (byte_2_int s1)) diff --git a/test/regress/regress1/strings/issue2981.smt2 b/test/regress/regress1/strings/issue2981.smt2 index 78cdb2a8c..615140fc9 100644 --- a/test/regress/regress1/strings/issue2981.smt2 +++ b/test/regress/regress1/strings/issue2981.smt2 @@ -6,8 +6,8 @@ (declare-const y String) (declare-const m String) (declare-const n String) -(assert (str.in.re x (re.+ (re.range "0" "9")))) -(assert (= 0 (str.to.int x))) +(assert (str.in_re x (re.+ (re.range "0" "9")))) +(assert (= 0 (str.to_int x))) (assert (not (= x ""))) (assert (not (= x "0"))) (assert (not (= x "3"))) diff --git a/test/regress/regress1/strings/issue2982.smt2 b/test/regress/regress1/strings/issue2982.smt2 index 41be8d1fd..a57915b44 100644 --- a/test/regress/regress1/strings/issue2982.smt2 +++ b/test/regress/regress1/strings/issue2982.smt2 @@ -16,8 +16,8 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re (str.++ var_7 "z" var_7 ) (re.* (str.to.re "z")))) -(assert (str.in.re var_7 (re.* (re.range "a" "u")))) -(assert (not (str.in.re (str.++ "a" var_7 "z" "a" var_7 ) (re.++ (re.* (re.union (str.to.re "z") (re.++ (str.to.re "a") (re.++ (re.* (str.to.re "a")) (str.to.re "z"))))) (re.++ (str.to.re "a") (re.* (str.to.re "a"))))))) +(assert (str.in_re (str.++ var_7 "z" var_7 ) (re.* (str.to_re "z")))) +(assert (str.in_re var_7 (re.* (re.range "a" "u")))) +(assert (not (str.in_re (str.++ "a" var_7 "z" "a" var_7 ) (re.++ (re.* (re.union (str.to_re "z") (re.++ (str.to_re "a") (re.++ (re.* (str.to_re "a")) (str.to_re "z"))))) (re.++ (str.to_re "a") (re.* (str.to_re "a"))))))) (assert (and (<= (str.len var_7) 0 ) (<= 0 (str.len var_7)))) (check-sat) diff --git a/test/regress/regress1/strings/issue3090.smt2 b/test/regress/regress1/strings/issue3090.smt2 index 734257a25..dc04289d6 100644 --- a/test/regress/regress1/strings/issue3090.smt2 +++ b/test/regress/regress1/strings/issue3090.smt2 @@ -2,5 +2,5 @@ (set-option :strings-exp true) (set-info :status unsat) (declare-const id String) -(assert (and (str.in.re id (re.+ (re.range "0" "9"))) (str.contains id "value"))) +(assert (and (str.in_re id (re.+ (re.range "0" "9"))) (str.contains id "value"))) (check-sat) diff --git a/test/regress/regress1/strings/issue3272.smt2 b/test/regress/regress1/strings/issue3272.smt2 index 47759ef1e..cf33afb92 100644 --- a/test/regress/regress1/strings/issue3272.smt2 +++ b/test/regress/regress1/strings/issue3272.smt2 @@ -1,3 +1,4 @@ +(set-info :smt-lib-version 2.5) (set-logic ALL_SUPPORTED) (set-option :strings-exp true) (set-info :status sat) @@ -10,7 +11,7 @@ (and (not (= (ite (= (str.at (str.substr c 1 (- (str.len (str.substr c 0 (- (str.len c) 1))) 1)) (- (str.len (str.substr (str.substr c 1 (- (str.len (str.replace a b "")) 1)) 0 (- (str.len (str.substr (str.replace a b "") 1 (- (str.len (str.replace a b "")) 1))) 1))) 1)) "\t") 1 0) 0)) - (= (ite (= (str.at (str.substr (str.substr c 1 (- (str.len (str.replace a b "")) 1)) 0 (- (str.len (str.substr (str.replace a b "") 1 (- (str.len (str.replace a b "")) 1))) 1)) 0) "\n") 1 0) 0) + (= (ite (= (str.at (str.substr (str.substr c 1 (- (str.len (str.replace a b "")) 1)) 0 (- (str.len (str.substr (str.replace a b "") 1 (- (str.len (str.replace a b "")) 1))) 1)) 0) "B") 1 0) 0) ) (= (ite (= (str.at (str.substr (str.substr c 1 (- (str.len c) 1)) 0 (- (str.len (str.substr (str.replace a b "") 1 (- (str.len (str.replace a b "")) 1))) 1)) 0) " ") 1 0) 0) diff --git a/test/regress/regress1/strings/issue3357.smt2 b/test/regress/regress1/strings/issue3357.smt2 index d0e436038..6951d47e1 100644 --- a/test/regress/regress1/strings/issue3357.smt2 +++ b/test/regress/regress1/strings/issue3357.smt2 @@ -9,10 +9,10 @@ (declare-const e String) (declare-const f String) (assert (or - (and (= d (str.++ e g)) (str.in.re e (re.* (str.to.re "HG4"))) (> 0 (str.to.int g)) (= 1 (str.len e)) (= 2 (str.len (str.substr b 0 (str.len d))))) + (and (= d (str.++ e g)) (str.in_re e (re.* (str.to_re "HG4"))) (> 0 (str.to_int g)) (= 1 (str.len e)) (= 2 (str.len (str.substr b 0 (str.len d))))) (and - (str.in.re (str.replace (str.replace a c "") "T" "") (re.* (re.union (str.to.re "a") (str.to.re "")))) - (= 0 (str.to.int (str.replace (str.replace a c "") "T" ""))))) + (str.in_re (str.replace (str.replace a c "") "T" "") (re.* (re.union (str.to_re "a") (str.to_re "")))) + (= 0 (str.to_int (str.replace (str.replace a c "") "T" ""))))) ) (assert (= b (str.++ d f))) (check-sat) diff --git a/test/regress/regress1/strings/kaluza-fl.smt2 b/test/regress/regress1/strings/kaluza-fl.smt2 index d277d85e6..27065916f 100644 --- a/test/regress/regress1/strings/kaluza-fl.smt2 +++ b/test/regress/regress1/strings/kaluza-fl.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-info :status sat) @@ -60,16 +60,16 @@ (assert (= T_SELECT_1 (not (= PCTEMP_LHS_1 (- 1))))) (assert (ite T_SELECT_1 - (and (= PCTEMP_LHS_1 (+ I0_2 0))(= var_0xINPUT_12454 (str.++ T0_2 T1_2))(= I0_2 (str.len T4_2))(= 0 (str.len T0_2))(= T1_2 (str.++ T2_2 T3_2))(= T2_2 (str.++ T4_2 T5_2))(= T5_2 "__utma=169413169.")(not (str.in.re T4_2 (re.++ (str.to.re "_") (str.to.re "_") (str.to.re "u") (str.to.re "t") (str.to.re "m") (str.to.re "a") (str.to.re "=") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "4") (str.to.re "1") (str.to.re "3") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "."))))) - (and (= PCTEMP_LHS_1 (- 1))(= var_0xINPUT_12454 (str.++ T0_2 T1_2))(= 0 (str.len T0_2))(not (str.in.re T1_2 (re.++ (str.to.re "_") (str.to.re "_") (str.to.re "u") (str.to.re "t") (str.to.re "m") (str.to.re "a") (str.to.re "=") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "4") (str.to.re "1") (str.to.re "3") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "."))))))) + (and (= PCTEMP_LHS_1 (+ I0_2 0))(= var_0xINPUT_12454 (str.++ T0_2 T1_2))(= I0_2 (str.len T4_2))(= 0 (str.len T0_2))(= T1_2 (str.++ T2_2 T3_2))(= T2_2 (str.++ T4_2 T5_2))(= T5_2 "__utma=169413169.")(not (str.in_re T4_2 (re.++ (str.to_re "_") (str.to_re "_") (str.to_re "u") (str.to_re "t") (str.to_re "m") (str.to_re "a") (str.to_re "=") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "4") (str.to_re "1") (str.to_re "3") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "."))))) + (and (= PCTEMP_LHS_1 (- 1))(= var_0xINPUT_12454 (str.++ T0_2 T1_2))(= 0 (str.len T0_2))(not (str.in_re T1_2 (re.++ (str.to_re "_") (str.to_re "_") (str.to_re "u") (str.to_re "t") (str.to_re "m") (str.to_re "a") (str.to_re "=") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "4") (str.to_re "1") (str.to_re "3") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "."))))))) (assert (= T_SELECT_2 (not (= PCTEMP_LHS_2 (- 1))))) (assert (ite T_SELECT_2 - (and (= PCTEMP_LHS_2 (+ I0_4 0))(= var_0xINPUT_12454 (str.++ T0_4 T1_4))(= I0_4 (str.len T4_4))(= 0 (str.len T0_4))(= T1_4 (str.++ T2_4 T3_4))(= T2_4 (str.++ T4_4 T5_4))(= T5_4 "__utmb=169413169")(not (str.in.re T4_4 (re.++ (str.to.re "_") (str.to.re "_") (str.to.re "u") (str.to.re "t") (str.to.re "m") (str.to.re "b") (str.to.re "=") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "4") (str.to.re "1") (str.to.re "3") (str.to.re "1") (str.to.re "6") (str.to.re "9"))))) - (and (= PCTEMP_LHS_2 (- 1))(= var_0xINPUT_12454 (str.++ T0_4 T1_4))(= 0 (str.len T0_4))(not (str.in.re T1_4 (re.++ (str.to.re "_") (str.to.re "_") (str.to.re "u") (str.to.re "t") (str.to.re "m") (str.to.re "b") (str.to.re "=") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "4") (str.to.re "1") (str.to.re "3") (str.to.re "1") (str.to.re "6") (str.to.re "9"))))))) + (and (= PCTEMP_LHS_2 (+ I0_4 0))(= var_0xINPUT_12454 (str.++ T0_4 T1_4))(= I0_4 (str.len T4_4))(= 0 (str.len T0_4))(= T1_4 (str.++ T2_4 T3_4))(= T2_4 (str.++ T4_4 T5_4))(= T5_4 "__utmb=169413169")(not (str.in_re T4_4 (re.++ (str.to_re "_") (str.to_re "_") (str.to_re "u") (str.to_re "t") (str.to_re "m") (str.to_re "b") (str.to_re "=") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "4") (str.to_re "1") (str.to_re "3") (str.to_re "1") (str.to_re "6") (str.to_re "9"))))) + (and (= PCTEMP_LHS_2 (- 1))(= var_0xINPUT_12454 (str.++ T0_4 T1_4))(= 0 (str.len T0_4))(not (str.in_re T1_4 (re.++ (str.to_re "_") (str.to_re "_") (str.to_re "u") (str.to_re "t") (str.to_re "m") (str.to_re "b") (str.to_re "=") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "4") (str.to_re "1") (str.to_re "3") (str.to_re "1") (str.to_re "6") (str.to_re "9"))))))) (assert (= T_SELECT_3 (not (= PCTEMP_LHS_3 (- 1))))) (assert (ite T_SELECT_3 - (and (= PCTEMP_LHS_3 (+ I0_6 0))(= var_0xINPUT_12454 (str.++ T0_6 T1_6))(= I0_6 (str.len T4_6))(= 0 (str.len T0_6))(= T1_6 (str.++ T2_6 T3_6))(= T2_6 (str.++ T4_6 T5_6))(= T5_6 "__utmc=169413169")(not (str.in.re T4_6 (re.++ (str.to.re "_") (str.to.re "_") (str.to.re "u") (str.to.re "t") (str.to.re "m") (str.to.re "c") (str.to.re "=") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "4") (str.to.re "1") (str.to.re "3") (str.to.re "1") (str.to.re "6") (str.to.re "9"))))) - (and (= PCTEMP_LHS_3 (- 1))(= var_0xINPUT_12454 (str.++ T0_6 T1_6))(= 0 (str.len T0_6))(not (str.in.re T1_6 (re.++ (str.to.re "_") (str.to.re "_") (str.to.re "u") (str.to.re "t") (str.to.re "m") (str.to.re "c") (str.to.re "=") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "4") (str.to.re "1") (str.to.re "3") (str.to.re "1") (str.to.re "6") (str.to.re "9"))))))) + (and (= PCTEMP_LHS_3 (+ I0_6 0))(= var_0xINPUT_12454 (str.++ T0_6 T1_6))(= I0_6 (str.len T4_6))(= 0 (str.len T0_6))(= T1_6 (str.++ T2_6 T3_6))(= T2_6 (str.++ T4_6 T5_6))(= T5_6 "__utmc=169413169")(not (str.in_re T4_6 (re.++ (str.to_re "_") (str.to_re "_") (str.to_re "u") (str.to_re "t") (str.to_re "m") (str.to_re "c") (str.to_re "=") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "4") (str.to_re "1") (str.to_re "3") (str.to_re "1") (str.to_re "6") (str.to_re "9"))))) + (and (= PCTEMP_LHS_3 (- 1))(= var_0xINPUT_12454 (str.++ T0_6 T1_6))(= 0 (str.len T0_6))(not (str.in_re T1_6 (re.++ (str.to_re "_") (str.to_re "_") (str.to_re "u") (str.to_re "t") (str.to_re "m") (str.to_re "c") (str.to_re "=") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "4") (str.to_re "1") (str.to_re "3") (str.to_re "1") (str.to_re "6") (str.to_re "9"))))))) (assert (= T_4 (<= 0 PCTEMP_LHS_1))) (assert T_4) (assert (= T_5 (<= 0 PCTEMP_LHS_2))) @@ -84,14 +84,14 @@ (assert T_a) (assert (= T_SELECT_4 (not (= PCTEMP_LHS_4 (- 1))))) (assert (ite T_SELECT_4 - (and (= PCTEMP_LHS_4 (+ I0_15 0))(= var_0xINPUT_12454 (str.++ T0_15 T1_15))(= I0_15 (str.len T4_15))(= 0 (str.len T0_15))(= T1_15 (str.++ T2_15 T3_15))(= T2_15 (str.++ T4_15 T5_15))(= T5_15 "__utmb=169413169")(not (str.in.re T4_15 (re.++ (str.to.re "_") (str.to.re "_") (str.to.re "u") (str.to.re "t") (str.to.re "m") (str.to.re "b") (str.to.re "=") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "4") (str.to.re "1") (str.to.re "3") (str.to.re "1") (str.to.re "6") (str.to.re "9"))))) - (and (= PCTEMP_LHS_4 (- 1))(= var_0xINPUT_12454 (str.++ T0_15 T1_15))(= 0 (str.len T0_15))(not (str.in.re T1_15 (re.++ (str.to.re "_") (str.to.re "_") (str.to.re "u") (str.to.re "t") (str.to.re "m") (str.to.re "b") (str.to.re "=") (str.to.re "1") (str.to.re "6") (str.to.re "9") (str.to.re "4") (str.to.re "1") (str.to.re "3") (str.to.re "1") (str.to.re "6") (str.to.re "9"))))))) + (and (= PCTEMP_LHS_4 (+ I0_15 0))(= var_0xINPUT_12454 (str.++ T0_15 T1_15))(= I0_15 (str.len T4_15))(= 0 (str.len T0_15))(= T1_15 (str.++ T2_15 T3_15))(= T2_15 (str.++ T4_15 T5_15))(= T5_15 "__utmb=169413169")(not (str.in_re T4_15 (re.++ (str.to_re "_") (str.to_re "_") (str.to_re "u") (str.to_re "t") (str.to_re "m") (str.to_re "b") (str.to_re "=") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "4") (str.to_re "1") (str.to_re "3") (str.to_re "1") (str.to_re "6") (str.to_re "9"))))) + (and (= PCTEMP_LHS_4 (- 1))(= var_0xINPUT_12454 (str.++ T0_15 T1_15))(= 0 (str.len T0_15))(not (str.in_re T1_15 (re.++ (str.to_re "_") (str.to_re "_") (str.to_re "u") (str.to_re "t") (str.to_re "m") (str.to_re "b") (str.to_re "=") (str.to_re "1") (str.to_re "6") (str.to_re "9") (str.to_re "4") (str.to_re "1") (str.to_re "3") (str.to_re "1") (str.to_re "6") (str.to_re "9"))))))) (assert (= T_c (< (- 1) PCTEMP_LHS_4))) (assert T_c) (assert (= T_SELECT_5 (not (= PCTEMP_LHS_5 (- 1))))) (assert (ite T_SELECT_5 - (and (= PCTEMP_LHS_5 (+ I0_18 PCTEMP_LHS_4))(= var_0xINPUT_12454 (str.++ T0_18 T1_18))(= I0_18 (str.len T4_18))(= PCTEMP_LHS_4 (str.len T0_18))(= T1_18 (str.++ T2_18 T3_18))(= T2_18 (str.++ T4_18 T5_18))(= T5_18 ";")(not (str.in.re T4_18 (str.to.re ";")))) - (and (= PCTEMP_LHS_5 (- 1))(= var_0xINPUT_12454 (str.++ T0_18 T1_18))(= PCTEMP_LHS_4 (str.len T0_18))(not (str.in.re T1_18 (str.to.re ";")))))) + (and (= PCTEMP_LHS_5 (+ I0_18 PCTEMP_LHS_4))(= var_0xINPUT_12454 (str.++ T0_18 T1_18))(= I0_18 (str.len T4_18))(= PCTEMP_LHS_4 (str.len T0_18))(= T1_18 (str.++ T2_18 T3_18))(= T2_18 (str.++ T4_18 T5_18))(= T5_18 ";")(not (str.in_re T4_18 (str.to_re ";")))) + (and (= PCTEMP_LHS_5 (- 1))(= var_0xINPUT_12454 (str.++ T0_18 T1_18))(= PCTEMP_LHS_4 (str.len T0_18))(not (str.in_re T1_18 (str.to_re ";")))))) (assert (= T_e (< PCTEMP_LHS_5 0))) (assert T_e) diff --git a/test/regress/regress1/strings/no-lazy-pp-quant.smt2 b/test/regress/regress1/strings/no-lazy-pp-quant.smt2 index 672c4e5fc..60f7e575e 100644 --- a/test/regress/regress1/strings/no-lazy-pp-quant.smt2 +++ b/test/regress/regress1/strings/no-lazy-pp-quant.smt2 @@ -1,9 +1,9 @@ ; COMMAND-LINE: --strings-exp --no-strings-lazy-pp ; EXPECT: sat -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (declare-fun result () Int) (declare-fun s () String) -(assert (! (not (= (str.to.int s) result)) :named a0)) +(assert (! (not (= (str.to_int s) result)) :named a0)) (check-sat) diff --git a/test/regress/regress1/strings/non_termination_regular_expression4.smt2 b/test/regress/regress1/strings/non_termination_regular_expression4.smt2 index 0b527345d..1e3f3cb96 100644 --- a/test/regress/regress1/strings/non_termination_regular_expression4.smt2 +++ b/test/regress/regress1/strings/non_termination_regular_expression4.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status unsat) (set-option :strings-exp true) @@ -8,7 +8,7 @@ ; Action: p0.0 (declare-const p0.0.action Bool) -(assert (= p0.0.action (and (= actionNamespace "foobar") (str.in.re actionName (re.++ (str.to.re "foo") (re.* re.allchar) (re.++ (str.to.re "") re.allchar (str.to.re "bar"))))))) +(assert (= p0.0.action (and (= actionNamespace "foobar") (str.in_re actionName (re.++ (str.to_re "foo") (re.* re.allchar) (re.++ (str.to_re "") re.allchar (str.to_re "bar"))))))) ; Policy: 0 (declare-const p0.denies Bool) @@ -20,7 +20,7 @@ ; Action: p1.0 (declare-const p1.0.action Bool) -(assert (= p1.0.action (and (= actionNamespace "foobar") (str.in.re actionName (re.++ (re.++ (str.to.re "foo") re.allchar (str.to.re "")) (re.* re.allchar) (str.to.re "bar")))))) +(assert (= p1.0.action (and (= actionNamespace "foobar") (str.in_re actionName (re.++ (re.++ (str.to_re "foo") re.allchar (str.to_re "")) (re.* re.allchar) (str.to_re "bar")))))) ; Policy: 1 (declare-const p1.denies Bool) diff --git a/test/regress/regress1/strings/norn-13.smt2 b/test/regress/regress1/strings/norn-13.smt2 index 912f4477a..2a8d9f323 100644 --- a/test/regress/regress1/strings/norn-13.smt2 +++ b/test/regress/regress1/strings/norn-13.smt2 @@ -16,8 +16,8 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re "" (re.* (re.range "a" "u")))) -(assert (str.in.re var_4 (re.* (re.range "a" "u")))) -(assert (str.in.re var_4 (re.* (re.union (str.to.re "a") (str.to.re "b"))))) -(assert (not (str.in.re (str.++ var_4 "z" ) (re.* (str.to.re "z"))))) +(assert (str.in_re "" (re.* (re.range "a" "u")))) +(assert (str.in_re var_4 (re.* (re.range "a" "u")))) +(assert (str.in_re var_4 (re.* (re.union (str.to_re "a") (str.to_re "b"))))) +(assert (not (str.in_re (str.++ var_4 "z" ) (re.* (str.to_re "z"))))) (check-sat) diff --git a/test/regress/regress1/strings/norn-360.smt2 b/test/regress/regress1/strings/norn-360.smt2 index 20ab0b338..bdbca494d 100644 --- a/test/regress/regress1/strings/norn-360.smt2 +++ b/test/regress/regress1/strings/norn-360.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-option :strings-exp true) (set-info :status sat) @@ -17,10 +17,10 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re (str.++ var_3 "z" var_4 ) (re.++ (re.* (re.union (re.union (str.to.re "z") (str.to.re "b")) (re.++ (str.to.re "a") (re.union (re.union (str.to.re "z") (str.to.re "b")) (str.to.re "a"))))) (str.to.re "a")))) -(assert (str.in.re (str.++ var_3 "z" var_4 ) (re.++ (re.* (re.union (re.union (str.to.re "z") (str.to.re "b")) (re.++ (str.to.re "a") (re.union (str.to.re "z") (str.to.re "a"))))) (str.to.re "a")))) -(assert (str.in.re (str.++ var_3 "z" var_4 ) (re.++ (re.* (re.union (str.to.re "z") (re.++ (re.union (str.to.re "b") (str.to.re "a")) (re.union (str.to.re "z") (str.to.re "b"))))) (re.union (str.to.re "b") (str.to.re "a"))))) -(assert (str.in.re var_4 (re.* (re.range "a" "u")))) -(assert (str.in.re var_3 (re.* (re.range "a" "u")))) +(assert (str.in_re (str.++ var_3 "z" var_4 ) (re.++ (re.* (re.union (re.union (str.to_re "z") (str.to_re "b")) (re.++ (str.to_re "a") (re.union (re.union (str.to_re "z") (str.to_re "b")) (str.to_re "a"))))) (str.to_re "a")))) +(assert (str.in_re (str.++ var_3 "z" var_4 ) (re.++ (re.* (re.union (re.union (str.to_re "z") (str.to_re "b")) (re.++ (str.to_re "a") (re.union (str.to_re "z") (str.to_re "a"))))) (str.to_re "a")))) +(assert (str.in_re (str.++ var_3 "z" var_4 ) (re.++ (re.* (re.union (str.to_re "z") (re.++ (re.union (str.to_re "b") (str.to_re "a")) (re.union (str.to_re "z") (str.to_re "b"))))) (re.union (str.to_re "b") (str.to_re "a"))))) +(assert (str.in_re var_4 (re.* (re.range "a" "u")))) +(assert (str.in_re var_3 (re.* (re.range "a" "u")))) (assert (<= 0 (str.len var_4))) (check-sat) diff --git a/test/regress/regress1/strings/norn-ab.smt2 b/test/regress/regress1/strings/norn-ab.smt2 index 47c218179..63a95bb78 100644 --- a/test/regress/regress1/strings/norn-ab.smt2 +++ b/test/regress/regress1/strings/norn-ab.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-info :status unsat) (set-option :strings-exp true) @@ -17,10 +17,10 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re var_4 (re.++ (str.to.re "a") (re.* (str.to.re "b"))))) -(assert (str.in.re var_4 (re.++ (re.* (str.to.re "a")) (str.to.re "b")))) -(assert (str.in.re var_4 (re.* (re.range "a" "u")))) -(assert (str.in.re var_4 (re.++ (re.* (str.to.re "a")) (re.++ (str.to.re "b") (re.* (str.to.re "b")))))) -(assert (not (str.in.re (str.++ "a" var_4 "b" ) (re.++ (re.* (str.to.re "a")) (re.++ (str.to.re "b") (re.* (str.to.re "b"))))))) +(assert (str.in_re var_4 (re.++ (str.to_re "a") (re.* (str.to_re "b"))))) +(assert (str.in_re var_4 (re.++ (re.* (str.to_re "a")) (str.to_re "b")))) +(assert (str.in_re var_4 (re.* (re.range "a" "u")))) +(assert (str.in_re var_4 (re.++ (re.* (str.to_re "a")) (re.++ (str.to_re "b") (re.* (str.to_re "b")))))) +(assert (not (str.in_re (str.++ "a" var_4 "b" ) (re.++ (re.* (str.to_re "a")) (re.++ (str.to_re "b") (re.* (str.to_re "b"))))))) (assert (and (<= 0 (str.len var_4)) (not (not (exists ((v Int)) (= (* v 2 ) (+ (str.len var_4) 2 ))))))) (check-sat) diff --git a/test/regress/regress1/strings/norn-nel-bug-052116.smt2 b/test/regress/regress1/strings/norn-nel-bug-052116.smt2 index 9f06152f7..883f7c4dd 100644 --- a/test/regress/regress1/strings/norn-nel-bug-052116.smt2 +++ b/test/regress/regress1/strings/norn-nel-bug-052116.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-info :status sat) (set-option :strings-exp true) @@ -17,8 +17,8 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re var_4 (re.* (re.range "a" "u")))) -(assert (str.in.re var_4 (re.++ (re.* (re.union (str.to.re "a") (re.++ (str.to.re "b") (str.to.re "a")))) (str.to.re "b")))) -(assert (str.in.re (str.++ "a" var_4 "b" ) (re.* (re.range "a" "u")))) -(assert (not (str.in.re (str.++ "a" var_4 "b" ) (re.++ (re.* (str.to.re "a")) (re.++ (str.to.re "b") (re.* (str.to.re "b"))))))) +(assert (str.in_re var_4 (re.* (re.range "a" "u")))) +(assert (str.in_re var_4 (re.++ (re.* (re.union (str.to_re "a") (re.++ (str.to_re "b") (str.to_re "a")))) (str.to_re "b")))) +(assert (str.in_re (str.++ "a" var_4 "b" ) (re.* (re.range "a" "u")))) +(assert (not (str.in_re (str.++ "a" var_4 "b" ) (re.++ (re.* (str.to_re "a")) (re.++ (str.to_re "b") (re.* (str.to_re "b"))))))) (check-sat) diff --git a/test/regress/regress1/strings/norn-simp-rew-sat.smt2 b/test/regress/regress1/strings/norn-simp-rew-sat.smt2 index 1336d3bfc..f7cad1c09 100644 --- a/test/regress/regress1/strings/norn-simp-rew-sat.smt2 +++ b/test/regress/regress1/strings/norn-simp-rew-sat.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-option :strings-exp true) (set-info :status sat) @@ -17,10 +17,10 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re (str.++ var_3 "z" var_4 ) (re.++ (re.* (re.union (re.union (str.to.re "z") (str.to.re "a")) (re.++ (str.to.re "b") (re.++ (re.* (str.to.re "b")) (re.union (str.to.re "z") (str.to.re "a")))))) (re.++ (str.to.re "b") (re.* (str.to.re "b")))))) -(assert (str.in.re var_4 (re.* (re.range "a" "u")))) -(assert (str.in.re var_4 (re.* (str.to.re "b")))) -(assert (str.in.re var_3 (re.* (re.range "a" "u")))) -(assert (str.in.re var_3 (re.* (str.to.re "a")))) +(assert (str.in_re (str.++ var_3 "z" var_4 ) (re.++ (re.* (re.union (re.union (str.to_re "z") (str.to_re "a")) (re.++ (str.to_re "b") (re.++ (re.* (str.to_re "b")) (re.union (str.to_re "z") (str.to_re "a")))))) (re.++ (str.to_re "b") (re.* (str.to_re "b")))))) +(assert (str.in_re var_4 (re.* (re.range "a" "u")))) +(assert (str.in_re var_4 (re.* (str.to_re "b")))) +(assert (str.in_re var_3 (re.* (re.range "a" "u")))) +(assert (str.in_re var_3 (re.* (str.to_re "a")))) (assert (<= 0 (str.len var_4))) (check-sat) diff --git a/test/regress/regress1/strings/nt6-dd.smt2 b/test/regress/regress1/strings/nt6-dd.smt2 index 30a0884a3..ad1e4edf5 100644 --- a/test/regress/regress1/strings/nt6-dd.smt2 +++ b/test/regress/regress1/strings/nt6-dd.smt2 @@ -1,13 +1,13 @@ ; COMMAND-LINE: --strings-exp --re-elim ; EXPECT: sat -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (declare-const resource_resource String) (declare-const p1.0.resource Bool) -(assert (str.in.re resource_resource (re.++ (str.to.re "ab") (re.* re.allchar) (str.to.re "b") ))) +(assert (str.in_re resource_resource (re.++ (str.to_re "ab") (re.* re.allchar) (str.to_re "b") ))) -(assert (= p1.0.resource (str.in.re resource_resource (re.++ (str.to.re "a") (re.* re.allchar) (str.to.re "b") )))) +(assert (= p1.0.resource (str.in_re resource_resource (re.++ (str.to_re "a") (re.* re.allchar) (str.to_re "b") )))) (check-sat) diff --git a/test/regress/regress1/strings/nterm-re-inter-sigma.smt2 b/test/regress/regress1/strings/nterm-re-inter-sigma.smt2 index 4ac3efff7..63d6a1391 100644 --- a/test/regress/regress1/strings/nterm-re-inter-sigma.smt2 +++ b/test/regress/regress1/strings/nterm-re-inter-sigma.smt2 @@ -1,11 +1,11 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (set-option :strings-exp true) (declare-fun x () String) (assert -(not (= (str.in.re x (re.++ (re.++ re.allchar re.allchar ) (re.* re.allchar ))) (not (str.in.re x (re.* (str.to.re "A"))))) +(not (= (str.in_re x (re.++ (re.++ re.allchar re.allchar ) (re.* re.allchar ))) (not (str.in_re x (re.* (str.to_re "A"))))) )) (check-sat) diff --git a/test/regress/regress1/strings/pierre150331.smt2 b/test/regress/regress1/strings/pierre150331.smt2 index e04db8e9a..ae4277874 100644 --- a/test/regress/regress1/strings/pierre150331.smt2 +++ b/test/regress/regress1/strings/pierre150331.smt2 @@ -1,7 +1,6 @@ (set-info :smt-lib-version 2.5) (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 diff --git a/test/regress/regress1/strings/policy_variable.smt2 b/test/regress/regress1/strings/policy_variable.smt2 index 4d14e95d5..c74765108 100644 --- a/test/regress/regress1/strings/policy_variable.smt2 +++ b/test/regress/regress1/strings/policy_variable.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status unsat) (set-option :strings-exp true) diff --git a/test/regress/regress1/strings/query4674.smt2 b/test/regress/regress1/strings/query4674.smt2 index 7132fa6a8..86a08162a 100644 --- a/test/regress/regress1/strings/query4674.smt2 +++ b/test/regress/regress1/strings/query4674.smt2 @@ -4,5 +4,5 @@ (set-option :strings-exp true) (set-option :re-elim false) (declare-fun x () String) -(assert (let ((_let_0 (re.* re.allchar ))) (and (not (= (str.in.re x (re.++ _let_0 re.allchar _let_0 (str.to.re (str.++ "A" (str.++ "B" (str.++ "C" "A")))) _let_0 re.allchar _let_0)) (str.in.re x (re.++ _let_0 re.allchar _let_0 re.allchar _let_0 (str.to.re (str.++ "B" (str.++ "C" (str.++ "B" "B")))) _let_0)))) (not (= (str.in.re x (re.++ _let_0 re.allchar _let_0 (str.to.re (str.++ "C" (str.++ "B" "C"))) _let_0 (str.to.re "B") _let_0)) (str.in.re x (re.++ _let_0 re.allchar _let_0 (str.to.re "C") _let_0 (str.to.re (str.++ "B" (str.++ "C" "B"))) _let_0))))))) +(assert (let ((_let_0 (re.* re.allchar ))) (and (not (= (str.in_re x (re.++ _let_0 re.allchar _let_0 (str.to_re (str.++ "A" (str.++ "B" (str.++ "C" "A")))) _let_0 re.allchar _let_0)) (str.in_re x (re.++ _let_0 re.allchar _let_0 re.allchar _let_0 (str.to_re (str.++ "B" (str.++ "C" (str.++ "B" "B")))) _let_0)))) (not (= (str.in_re x (re.++ _let_0 re.allchar _let_0 (str.to_re (str.++ "C" (str.++ "B" "C"))) _let_0 (str.to_re "B") _let_0)) (str.in_re x (re.++ _let_0 re.allchar _let_0 (str.to_re "C") _let_0 (str.to_re (str.++ "B" (str.++ "C" "B"))) _let_0))))))) (check-sat) diff --git a/test/regress/regress1/strings/query8485.smt2 b/test/regress/regress1/strings/query8485.smt2 index ccd3b7f9a..ca222119f 100644 --- a/test/regress/regress1/strings/query8485.smt2 +++ b/test/regress/regress1/strings/query8485.smt2 @@ -4,5 +4,5 @@ (set-option :strings-exp true) (set-option :re-elim false) (declare-fun x () String) -(assert (let ((_let_0 (re.* re.allchar ))) (and (not (= (str.in.re x (re.++ _let_0 re.allchar _let_0 (str.to.re (str.++ "B" (str.++ "A" (str.++ "C" "B")))) _let_0 re.allchar _let_0)) (str.in.re x (re.++ _let_0 re.allchar _let_0 (str.to.re (str.++ "A" (str.++ "B" (str.++ "C" "C")))) _let_0 re.allchar _let_0)))) (not (= (str.in.re x (re.++ _let_0 re.allchar _let_0 (str.to.re (str.++ "C" (str.++ "B" (str.++ "A" "B")))) _let_0 re.allchar _let_0)) (str.in.re x (re.++ _let_0 re.allchar _let_0 (str.to.re (str.++ "C" (str.++ "B" "A"))) _let_0 (str.to.re "B") _let_0))))))) +(assert (let ((_let_0 (re.* re.allchar ))) (and (not (= (str.in_re x (re.++ _let_0 re.allchar _let_0 (str.to_re (str.++ "B" (str.++ "A" (str.++ "C" "B")))) _let_0 re.allchar _let_0)) (str.in_re x (re.++ _let_0 re.allchar _let_0 (str.to_re (str.++ "A" (str.++ "B" (str.++ "C" "C")))) _let_0 re.allchar _let_0)))) (not (= (str.in_re x (re.++ _let_0 re.allchar _let_0 (str.to_re (str.++ "C" (str.++ "B" (str.++ "A" "B")))) _let_0 re.allchar _let_0)) (str.in_re x (re.++ _let_0 re.allchar _let_0 (str.to_re (str.++ "C" (str.++ "B" "A"))) _let_0 (str.to_re "B") _let_0))))))) (check-sat) diff --git a/test/regress/regress1/strings/re-agg-total1.smt2 b/test/regress/regress1/strings/re-agg-total1.smt2 index 2950066a0..fba863a6c 100644 --- a/test/regress/regress1/strings/re-agg-total1.smt2 +++ b/test/regress/regress1/strings/re-agg-total1.smt2 @@ -7,9 +7,9 @@ (declare-const y String) -(assert (str.in.re x (re.* (str.to.re "ab") ) ) ) -(assert (str.in.re x (re.* (str.to.re "abab") ) ) ) -(assert (str.in.re x (re.* (str.to.re "ababac") ) ) ) +(assert (str.in_re x (re.* (str.to_re "ab") ) ) ) +(assert (str.in_re x (re.* (str.to_re "abab") ) ) ) +(assert (str.in_re x (re.* (str.to_re "ababac") ) ) ) (assert (> (str.len x) 1) ) diff --git a/test/regress/regress1/strings/re-agg-total2.smt2 b/test/regress/regress1/strings/re-agg-total2.smt2 index 54bf493a3..80e422224 100644 --- a/test/regress/regress1/strings/re-agg-total2.smt2 +++ b/test/regress/regress1/strings/re-agg-total2.smt2 @@ -5,8 +5,8 @@ (set-option :re-elim-agg true) (declare-const x String) (declare-const y String) -(assert (str.in.re x (re.* (str.to.re "'\r''k'\n'")))) -(assert (str.in.re x (re.* (str.to.re "'\r''k'\n''\r''k'\n'")))) +(assert (str.in_re x (re.* (str.to_re "'\r''k'\n'")))) +(assert (str.in_re x (re.* (str.to_re "'\r''k'\n''\r''k'\n'")))) (assert (> (str.len x) 20)) (assert (< (str.len x) 25)) (check-sat) diff --git a/test/regress/regress1/strings/re-all-char-hard.smt2 b/test/regress/regress1/strings/re-all-char-hard.smt2 index 2a643ac88..fc156c116 100644 --- a/test/regress/regress1/strings/re-all-char-hard.smt2 +++ b/test/regress/regress1/strings/re-all-char-hard.smt2 @@ -6,6 +6,6 @@ (declare-fun x () String) ; we should not intersect these two regular expressions -(assert (str.in.re x (re.++ (str.to.re "abc:def:ghi:") (re.* re.allchar ) (str.to.re ":") (re.* re.allchar ) (str.to.re ":cluster/sflower-bottle-guide-") (re.* re.allchar )))) -(assert (str.in.re x (re.++ (re.* re.allchar ) (str.to.re ":") (re.* re.allchar ) (str.to.re ":") (re.* re.allchar ) (str.to.re ":") (re.* re.allchar ) (str.to.re ":") (re.* re.allchar ) (str.to.re ":") (re.* re.allchar )))) +(assert (str.in_re x (re.++ (str.to_re "abc:def:ghi:") (re.* re.allchar ) (str.to_re ":") (re.* re.allchar ) (str.to_re ":cluster/sflower-bottle-guide-") (re.* re.allchar )))) +(assert (str.in_re x (re.++ (re.* re.allchar ) (str.to_re ":") (re.* re.allchar ) (str.to_re ":") (re.* re.allchar ) (str.to_re ":") (re.* re.allchar ) (str.to_re ":") (re.* re.allchar ) (str.to_re ":") (re.* re.allchar )))) (check-sat) diff --git a/test/regress/regress1/strings/re-elim-exact.smt2 b/test/regress/regress1/strings/re-elim-exact.smt2 index 62b934610..9504aad93 100644 --- a/test/regress/regress1/strings/re-elim-exact.smt2 +++ b/test/regress/regress1/strings/re-elim-exact.smt2 @@ -1,10 +1,10 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (set-option :strings-exp true) (set-option :re-elim true) (declare-fun x () String) -(assert (str.in.re x (re.++ re.allchar (str.to.re "A") re.allchar (str.to.re "B") re.allchar))) +(assert (str.in_re x (re.++ re.allchar (str.to_re "A") re.allchar (str.to_re "B") re.allchar))) (check-sat) diff --git a/test/regress/regress1/strings/re-mod-eq.smt2 b/test/regress/regress1/strings/re-mod-eq.smt2 index 531556e6d..ff20ec9d4 100644 --- a/test/regress/regress1/strings/re-mod-eq.smt2 +++ b/test/regress/regress1/strings/re-mod-eq.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-option :strings-exp true) (set-info :status unsat) @@ -6,8 +6,8 @@ (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")))) +(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) diff --git a/test/regress/regress1/strings/re-neg-concat-reduct.smt2 b/test/regress/regress1/strings/re-neg-concat-reduct.smt2 index cbe8c4a8b..0f20f80a3 100644 --- a/test/regress/regress1/strings/re-neg-concat-reduct.smt2 +++ b/test/regress/regress1/strings/re-neg-concat-reduct.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-info :status sat) (set-option :strings-exp true) @@ -6,7 +6,7 @@ (declare-fun x () String) (assert (not (= x ""))) -(assert (not (str.in.re x (re.++ (str.to.re "AB") (re.* (str.to.re "A")))))) -(assert (not (str.in.re x (re.++ (re.* (str.to.re "A")) (str.to.re "B"))))) +(assert (not (str.in_re x (re.++ (str.to_re "AB") (re.* (str.to_re "A")))))) +(assert (not (str.in_re x (re.++ (re.* (str.to_re "A")) (str.to_re "B"))))) (check-sat) diff --git a/test/regress/regress1/strings/re-neg-unfold-rev-a.smt2 b/test/regress/regress1/strings/re-neg-unfold-rev-a.smt2 index 3f99f8507..0f869f155 100644 --- a/test/regress/regress1/strings/re-neg-unfold-rev-a.smt2 +++ b/test/regress/regress1/strings/re-neg-unfold-rev-a.smt2 @@ -1,10 +1,10 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-info :status unsat) (set-option :strings-exp true) (declare-const x String) (declare-const y String) -(assert (and (= y "foobar") (str.in.re x (re.++ (str.to.re "ab") (re.* re.allchar) (str.to.re "b") (re.* re.allchar) (str.to.re "b") (re.* re.allchar) (str.to.re "b"))))) -(assert (not (and (= y "foobar") (str.in.re x (re.++ (str.to.re "a") (re.* re.allchar) (str.to.re "b") (re.* re.allchar) (str.to.re "b") (re.* re.allchar) (str.to.re "b")))))) +(assert (and (= y "foobar") (str.in_re x (re.++ (str.to_re "ab") (re.* re.allchar) (str.to_re "b") (re.* re.allchar) (str.to_re "b") (re.* re.allchar) (str.to_re "b"))))) +(assert (not (and (= y "foobar") (str.in_re x (re.++ (str.to_re "a") (re.* re.allchar) (str.to_re "b") (re.* re.allchar) (str.to_re "b") (re.* re.allchar) (str.to_re "b")))))) (check-sat) diff --git a/test/regress/regress1/strings/re-unsound-080718.smt2 b/test/regress/regress1/strings/re-unsound-080718.smt2 index 96353e746..552a0a706 100644 --- a/test/regress/regress1/strings/re-unsound-080718.smt2 +++ b/test/regress/regress1/strings/re-unsound-080718.smt2 @@ -1,18 +1,18 @@ ; COMMAND-LINE: --strings-print-ascii --strings-exp ; EXPECT: sat -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (declare-fun x () String) (assert (and (not (= - (str.in.re x (re.++ (str.to.re "B") (re.* (str.to.re "B")))) - (str.in.re x (re.++ (str.to.re "B") (str.to.re (str.++ "B" "B")))) + (str.in_re x (re.++ (str.to_re "B") (re.* (str.to_re "B")))) + (str.in_re x (re.++ (str.to_re "B") (str.to_re (str.++ "B" "B")))) )) (not (= - (str.in.re x (re.++ (re.union (re.++ (str.to.re "A") re.allchar ) re.allchar ) (str.to.re "B"))) - (str.in.re x (re.++ (str.to.re "A") (str.to.re "B"))) + (str.in_re x (re.++ (re.union (re.++ (str.to_re "A") re.allchar ) re.allchar ) (str.to_re "B"))) + (str.in_re x (re.++ (str.to_re "A") (str.to_re "B"))) )) ) ) diff --git a/test/regress/regress1/strings/regexp-strat-fix.smt2 b/test/regress/regress1/strings/regexp-strat-fix.smt2 index 9ff78c935..349774663 100644 --- a/test/regress/regress1/strings/regexp-strat-fix.smt2 +++ b/test/regress/regress1/strings/regexp-strat-fix.smt2 @@ -1,8 +1,8 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-info :status unsat) (set-option :strings-exp true) (declare-fun var0 () String) -(assert (str.in.re var0 (re.* (re.* (str.to.re "0"))))) -(assert (not (str.in.re var0 (re.union (re.+ (str.to.re "0")) (re.* (str.to.re "1")))))) +(assert (str.in_re var0 (re.* (re.* (str.to_re "0"))))) +(assert (not (str.in_re var0 (re.union (re.+ (str.to_re "0")) (re.* (str.to_re "1")))))) (check-sat) diff --git a/test/regress/regress1/strings/regexp001.smt2 b/test/regress/regress1/strings/regexp001.smt2 index 142ff679d..0562e6655 100644 --- a/test/regress/regress1/strings/regexp001.smt2 +++ b/test/regress/regress1/strings/regexp001.smt2 @@ -1,12 +1,12 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-info :status sat) (set-option :strings-exp true) (declare-fun x () String) -(assert (str.in.re x - (re.* (re.++ (re.* (str.to.re "a") ) (str.to.re "b") )) +(assert (str.in_re x + (re.* (re.++ (re.* (str.to_re "a") ) (str.to_re "b") )) )) (assert (= (str.len x) 3)) diff --git a/test/regress/regress1/strings/regexp002.smt2 b/test/regress/regress1/strings/regexp002.smt2 index f109a484e..35501ac10 100644 --- a/test/regress/regress1/strings/regexp002.smt2 +++ b/test/regress/regress1/strings/regexp002.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-info :status sat) (set-option :strings-exp true) @@ -10,12 +10,12 @@ (declare-fun x () String) (declare-fun y () String) -(assert (str.in.re x - (re.* (re.++ (re.* (str.to.re "a") ) (str.to.re "b") )) +(assert (str.in_re x + (re.* (re.++ (re.* (str.to_re "a") ) (str.to_re "b") )) )) -(assert (str.in.re y - (re.* (re.++ (re.* (str.to.re "a") ) (str.to.re "b") )) +(assert (str.in_re y + (re.* (re.++ (re.* (str.to_re "a") ) (str.to_re "b") )) )) (assert (not (= x y))) diff --git a/test/regress/regress1/strings/regexp003.smt2 b/test/regress/regress1/strings/regexp003.smt2 index 7c05b422f..fa3828745 100644 --- a/test/regress/regress1/strings/regexp003.smt2 +++ b/test/regress/regress1/strings/regexp003.smt2 @@ -1,14 +1,14 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-info :status sat) (set-option :strings-exp true) (declare-const s String) -(assert (str.in.re s (re.inter - (re.++ (str.to.re "a") (re.* (str.to.re "b")) - (re.inter (str.to.re "c") (re.* (str.to.re "c")))) - (re.++ (str.to.re "a") (re.* (str.to.re "b")) (re.* (str.to.re "c"))) +(assert (str.in_re s (re.inter + (re.++ (str.to_re "a") (re.* (str.to_re "b")) + (re.inter (str.to_re "c") (re.* (str.to_re "c")))) + (re.++ (str.to_re "a") (re.* (str.to_re "b")) (re.* (str.to_re "c"))) ))) (check-sat) diff --git a/test/regress/regress1/strings/reloop.smt2 b/test/regress/regress1/strings/reloop.smt2 index 6230d1656..1e9050178 100644 --- a/test/regress/regress1/strings/reloop.smt2 +++ b/test/regress/regress1/strings/reloop.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-option :strings-exp true) (set-info :status sat) @@ -8,11 +8,11 @@ (declare-fun z () String) (declare-fun w () String) -(assert (str.in.re x ((_ re.^ 5) (str.to.re "a")))) -(assert (str.in.re y ((_ re.loop 2 5) (str.to.re "b")))) -(assert (str.in.re z ((_ re.loop 5 15) (str.to.re "c")))) +(assert (str.in_re x ((_ re.^ 5) (str.to_re "a")))) +(assert (str.in_re y ((_ re.loop 2 5) (str.to_re "b")))) +(assert (str.in_re z ((_ re.loop 5 15) (str.to_re "c")))) (assert (> (str.len z) 7)) -(assert (str.in.re w ((_ re.loop 2 7) (str.to.re "b")))) +(assert (str.in_re w ((_ re.loop 2 7) (str.to_re "b")))) (assert (> (str.len w) 2)) (assert (< (str.len w) 5)) diff --git a/test/regress/regress1/strings/replaceall-len.smt2 b/test/regress/regress1/strings/replaceall-len.smt2 index 448d8e98f..3c0d7e8e5 100644 --- a/test/regress/regress1/strings/replaceall-len.smt2 +++ b/test/regress/regress1/strings/replaceall-len.smt2 @@ -1,10 +1,10 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (set-option :strings-exp true) (set-option :strings-fmf true) (set-option :produce-models true) (declare-fun x () String) -(assert (= (str.len (str.replaceall x "B" "CC")) (+ (str.len x) 2))) +(assert (= (str.len (str.replace_all x "B" "CC")) (+ (str.len x) 2))) (assert (> (str.len x) 2)) (check-sat) diff --git a/test/regress/regress1/strings/replaceall-replace.smt2 b/test/regress/regress1/strings/replaceall-replace.smt2 index 5bf5b5b16..5f62ff4d5 100644 --- a/test/regress/regress1/strings/replaceall-replace.smt2 +++ b/test/regress/regress1/strings/replaceall-replace.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (set-option :strings-exp true) @@ -9,5 +9,5 @@ (declare-fun z () String) (assert (not (= x ""))) (assert (not (= y ""))) -(assert (not (= (str.replace x y z) (str.replaceall x y z)))) +(assert (not (= (str.replace x y z) (str.replace_all x y z)))) (check-sat) diff --git a/test/regress/regress1/strings/rew-check1.smt2 b/test/regress/regress1/strings/rew-check1.smt2 index 5cb85e4ca..2de2c5747 100644 --- a/test/regress/regress1/strings/rew-check1.smt2 +++ b/test/regress/regress1/strings/rew-check1.smt2 @@ -1,10 +1,10 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status unsat) (declare-fun x () String) (assert (not (= -(str.in.re x (re.++ (re.* re.allchar ) (str.to.re "A") (re.* re.allchar ) re.allchar (re.* re.allchar ) (re.* (str.to.re "A")) (re.* re.allchar ))) -(str.in.re x (re.++ (re.* (str.to.re "A")) (re.* (str.to.re "B")) (re.* re.allchar ) (str.to.re "A") (re.* re.allchar ) re.allchar (re.* re.allchar ))) +(str.in_re x (re.++ (re.* re.allchar ) (str.to_re "A") (re.* re.allchar ) re.allchar (re.* re.allchar ) (re.* (str.to_re "A")) (re.* re.allchar ))) +(str.in_re x (re.++ (re.* (str.to_re "A")) (re.* (str.to_re "B")) (re.* re.allchar ) (str.to_re "A") (re.* re.allchar ) re.allchar (re.* re.allchar ))) ))) (check-sat) diff --git a/test/regress/regress1/strings/simple-re-consume.smt2 b/test/regress/regress1/strings/simple-re-consume.smt2 index af34ef1c9..d8facc6c8 100644 --- a/test/regress/regress1/strings/simple-re-consume.smt2 +++ b/test/regress/regress1/strings/simple-re-consume.smt2 @@ -1,6 +1,6 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-info :status sat) (declare-fun x () String) -(assert (str.in.re (str.++ "bbbbbbbb" x) (re.* (re.++ (str.to.re "bbbb") (re.* (str.to.re "aaaa")))))) +(assert (str.in_re (str.++ "bbbbbbbb" x) (re.* (re.++ (str.to_re "bbbb") (re.* (str.to_re "aaaa")))))) (check-sat) diff --git a/test/regress/regress1/strings/stoi-400million.smt2 b/test/regress/regress1/strings/stoi-400million.smt2 index 9b9acf673..6bb992a5e 100644 --- a/test/regress/regress1/strings/stoi-400million.smt2 +++ b/test/regress/regress1/strings/stoi-400million.smt2 @@ -1,7 +1,7 @@ ; COMMAND-LINE: --strings-exp ; EXPECT: sat -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (declare-fun s () String) -(assert (> (str.to.int s) 400000000)) +(assert (> (str.to_int s) 400000000)) (check-sat) diff --git a/test/regress/regress1/strings/stoi-solve.smt2 b/test/regress/regress1/strings/stoi-solve.smt2 index 4fbbdcfc1..e84f5b42c 100644 --- a/test/regress/regress1/strings/stoi-solve.smt2 +++ b/test/regress/regress1/strings/stoi-solve.smt2 @@ -2,5 +2,5 @@ (set-info :status sat) (set-option :strings-exp true) (declare-fun x () String) -(assert (= (str.to.int x) 12345)) +(assert (= (str.to_int x) 12345)) (check-sat) diff --git a/test/regress/regress1/strings/str-code-sat.smt2 b/test/regress/regress1/strings/str-code-sat.smt2 index 1acc091c1..7345e25bb 100644 --- a/test/regress/regress1/strings/str-code-sat.smt2 +++ b/test/regress/regress1/strings/str-code-sat.smt2 @@ -5,19 +5,19 @@ (declare-fun z () String) (declare-fun w () String) -(assert (>= (str.code x) 65)) -(assert (<= (str.code x) 75)) +(assert (>= (str.to_code x) 65)) +(assert (<= (str.to_code x) 75)) -(assert (>= (str.code y) 65)) -(assert (<= (str.code y) 75)) +(assert (>= (str.to_code y) 65)) +(assert (<= (str.to_code y) 75)) -(assert (>= (str.code z) 65)) -(assert (<= (str.code z) 75)) +(assert (>= (str.to_code z) 65)) +(assert (<= (str.to_code z) 75)) (assert (= (str.len w) 1)) -(assert (= (+ (str.code x) (str.code y)) 140)) -(assert (= (+ (str.code x) (str.code z)) 141)) +(assert (= (+ (str.to_code x) (str.to_code y)) 140)) +(assert (= (+ (str.to_code x) (str.to_code z)) 141)) (assert (distinct x y z w "A" "B" "C" "D" "AA")) diff --git a/test/regress/regress1/strings/str-code-unsat-2.smt2 b/test/regress/regress1/strings/str-code-unsat-2.smt2 index 38116061e..721cbc533 100644 --- a/test/regress/regress1/strings/str-code-unsat-2.smt2 +++ b/test/regress/regress1/strings/str-code-unsat-2.smt2 @@ -2,5 +2,5 @@ (set-info :status unsat) (declare-fun x () String) (assert (= (str.len x) 1)) -(assert (or (< (str.code x) 0) (> (str.code x) 10000000000000000000000000000))) +(assert (or (< (str.to_code x) 0) (> (str.to_code x) 10000000000000000000000000000))) (check-sat) diff --git a/test/regress/regress1/strings/str-code-unsat-3.smt2 b/test/regress/regress1/strings/str-code-unsat-3.smt2 index fa34785c2..06d297fe8 100644 --- a/test/regress/regress1/strings/str-code-unsat-3.smt2 +++ b/test/regress/regress1/strings/str-code-unsat-3.smt2 @@ -4,17 +4,17 @@ (declare-fun y () String) (declare-fun z () String) -(assert (>= (str.code x) 65)) -(assert (<= (str.code x) 75)) +(assert (>= (str.to_code x) 65)) +(assert (<= (str.to_code x) 75)) -(assert (>= (str.code y) 65)) -(assert (<= (str.code y) 75)) +(assert (>= (str.to_code y) 65)) +(assert (<= (str.to_code y) 75)) -(assert (>= (str.code z) 65)) -(assert (<= (str.code z) 75)) +(assert (>= (str.to_code z) 65)) +(assert (<= (str.to_code z) 75)) -(assert (= (+ (str.code x) (str.code y)) 140)) -(assert (= (+ (str.code x) (str.code z)) 141)) +(assert (= (+ (str.to_code x) (str.to_code y)) 140)) +(assert (= (+ (str.to_code x) (str.to_code z)) 141)) (assert (distinct x y z "B" "C" "D" "E")) diff --git a/test/regress/regress1/strings/str-code-unsat.smt2 b/test/regress/regress1/strings/str-code-unsat.smt2 index 6a3e9062b..118ab7750 100644 --- a/test/regress/regress1/strings/str-code-unsat.smt2 +++ b/test/regress/regress1/strings/str-code-unsat.smt2 @@ -4,17 +4,17 @@ (declare-fun y () String) (declare-fun z () String) -(assert (>= (str.code x) 65)) -(assert (<= (str.code x) 75)) +(assert (>= (str.to_code x) 65)) +(assert (<= (str.to_code x) 75)) -(assert (>= (str.code y) 65)) -(assert (<= (str.code y) 75)) +(assert (>= (str.to_code y) 65)) +(assert (<= (str.to_code y) 75)) -(assert (>= (str.code z) 65)) -(assert (<= (str.code z) 75)) +(assert (>= (str.to_code z) 65)) +(assert (<= (str.to_code z) 75)) -(assert (= (+ (str.code x) (str.code y)) 140)) -(assert (= (+ (str.code x) (str.code z)) 140)) +(assert (= (+ (str.to_code x) (str.to_code y)) 140)) +(assert (= (+ (str.to_code x) (str.to_code z)) 140)) (assert (distinct x y z)) diff --git a/test/regress/regress1/strings/string-unsound-sem.smt2 b/test/regress/regress1/strings/string-unsound-sem.smt2 index 44591b47b..59c2d4a17 100644 --- a/test/regress/regress1/strings/string-unsound-sem.smt2 +++ b/test/regress/regress1/strings/string-unsound-sem.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-option :strings-exp true) (set-info :status sat) @@ -6,7 +6,7 @@ (declare-fun y () String) (declare-fun z () Int) (assert (and -(not (= (str.replace "A" (int.to.str z) x) (str.++ "A" (str.replace "" (int.to.str z) x)))) +(not (= (str.replace "A" (str.from_int z) x) (str.++ "A" (str.replace "" (str.from_int z) x)))) (not (= (str.replace x (str.at x z) "") (str.++ (str.replace (str.++ (str.substr x 0 z) (str.substr x z 1)) (str.substr x z 1) "") (str.substr x (+ 1 z) (str.len x))))) ) ) diff --git a/test/regress/regress1/strings/type002.smt2 b/test/regress/regress1/strings/type002.smt2 index 3b46b25a8..af2e293c2 100644 --- a/test/regress/regress1/strings/type002.smt2 +++ b/test/regress/regress1/strings/type002.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-info :status sat) (set-option :strings-exp true) @@ -9,7 +9,7 @@ (declare-fun i () Int) (assert (>= i 420)) -(assert (= x (int.to.str i))) +(assert (= x (str.from_int i))) (assert (= x (str.++ y "0" z))) (assert (not (= y ""))) (assert (not (= z ""))) diff --git a/test/regress/regress1/strings/type003.smt2 b/test/regress/regress1/strings/type003.smt2 index 332ec3ec3..87c8b3903 100644 --- a/test/regress/regress1/strings/type003.smt2 +++ b/test/regress/regress1/strings/type003.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_SLIA) (set-info :status sat) (set-option :strings-exp true) @@ -6,7 +6,7 @@ (declare-fun i () Int) (declare-fun s () String) -(assert (< 67 (str.to.int s))) +(assert (< 67 (str.to_int s))) (assert (= (str.len s) 2)) (assert (not (= s "68"))) diff --git a/test/regress/regress1/strings/username_checker_min.smt2 b/test/regress/regress1/strings/username_checker_min.smt2 index f6c152a2a..c4c21dfac 100644 --- a/test/regress/regress1/strings/username_checker_min.smt2 +++ b/test/regress/regress1/strings/username_checker_min.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic QF_S) (set-option :strings-exp true) (set-info :status unsat) @@ -8,7 +8,7 @@ (assert (= (str.len buff) 4)) (assert (= (str.len pass_mem) 1)) -(assert (str.in.re (str.++ buff pass_mem) (re.+ (str.to.re "A")))) +(assert (str.in_re (str.++ buff pass_mem) (re.+ (str.to_re "A")))) (assert (str.contains buff "<")) diff --git a/test/regress/regress2/strings/issue918.smt2 b/test/regress/regress2/strings/issue918.smt2 index 8f390df26..0843a1700 100644 --- a/test/regress/regress2/strings/issue918.smt2 +++ b/test/regress/regress2/strings/issue918.smt2 @@ -1,8 +1,8 @@ ; COMMAND-LINE: --strings-exp --re-elim ; EXPECT: sat +(set-info :smt-lib-version 2.5) (set-option :produce-models true) (set-logic UFDTSLIA) -(set-info :smt-lib-version 2.5) (declare-datatypes () ( (StringRotation (StringRotation$C_StringRotation (StringRotation$C_StringRotation$sr String))) (StringRotation2 (StringRotation2$C_StringRotation2 (StringRotation2$C_StringRotation2$sr1 StringRotation) (StringRotation2$C_StringRotation2$sr2 StringRotation))) diff --git a/test/regress/regress2/strings/non_termination_regular_expression6.smt2 b/test/regress/regress2/strings/non_termination_regular_expression6.smt2 index 340cade1c..175ee5cc0 100644 --- a/test/regress/regress2/strings/non_termination_regular_expression6.smt2 +++ b/test/regress/regress2/strings/non_termination_regular_expression6.smt2 @@ -17,7 +17,7 @@ ; Resource: p0.0 (declare-const p0.0.resource Bool) -(assert (= p0.0.resource (and (= resource_prefix "arn") (= resource_partition "aws") (= resource_service "sqs") (= resource_region "us-east-1") (= resource_account "111144448888") (str.in.re resource_resource (re.++ (str.to.re "ab") (re.* re.allchar) (str.to.re "b") (re.* re.allchar) (str.to.re "b") (re.* re.allchar) (str.to.re "b")))))) +(assert (= p0.0.resource (and (= resource_prefix "arn") (= resource_partition "aws") (= resource_service "sqs") (= resource_region "us-east-1") (= resource_account "111144448888") (str.in_re resource_resource (re.++ (str.to_re "ab") (re.* re.allchar) (str.to_re "b") (re.* re.allchar) (str.to_re "b") (re.* re.allchar) (str.to_re "b")))))) ; Statement: p0.0 (declare-const p0.0.statement.allows Bool) @@ -37,7 +37,7 @@ ; Resource: p1.0 (declare-const p1.0.resource Bool) -(assert (= p1.0.resource (and (= resource_prefix "arn") (= resource_partition "aws") (= resource_service "sqs") (= resource_region "us-east-1") (= resource_account "111144448888") (str.in.re resource_resource (re.++ (str.to.re "a") (re.* re.allchar) (str.to.re "b") (re.* re.allchar) (str.to.re "b") (re.* re.allchar) (str.to.re "b")))))) +(assert (= p1.0.resource (and (= resource_prefix "arn") (= resource_partition "aws") (= resource_service "sqs") (= resource_region "us-east-1") (= resource_account "111144448888") (str.in_re resource_resource (re.++ (str.to_re "a") (re.* re.allchar) (str.to_re "b") (re.* re.allchar) (str.to_re "b") (re.* re.allchar) (str.to_re "b")))))) ; Statement: p1.0 (declare-const p1.0.statement.allows Bool) diff --git a/test/regress/regress2/strings/norn-dis-0707-3.smt2 b/test/regress/regress2/strings/norn-dis-0707-3.smt2 index 47b2e6b19..242d7e958 100644 --- a/test/regress/regress2/strings/norn-dis-0707-3.smt2 +++ b/test/regress/regress2/strings/norn-dis-0707-3.smt2 @@ -17,11 +17,11 @@ (declare-fun var_11 () String) (declare-fun var_12 () String) -(assert (str.in.re (str.++ var_8 "z" var_9 ) (re.++ (re.* (re.union (str.to.re "a") (re.++ (str.to.re "b") (re.++ (re.* (re.union (str.to.re "b") (str.to.re "a"))) (str.to.re "z"))))) (re.++ (str.to.re "b") (re.* (re.union (str.to.re "b") (str.to.re "a"))))))) -(assert (str.in.re (str.++ var_8 "z" var_9 ) (re.++ (re.* (re.union (re.union (str.to.re "z") (str.to.re "a")) (re.++ (str.to.re "b") (re.++ (re.* (str.to.re "b")) (re.union (str.to.re "z") (str.to.re "a")))))) (re.++ (str.to.re "b") (re.* (str.to.re "b")))))) -(assert (str.in.re (str.++ var_8 "z" var_9 ) (re.++ (re.* (re.union (str.to.re "a") (re.++ (str.to.re "b") (re.++ (re.* (re.union (str.to.re "z") (str.to.re "a"))) (str.to.re "b"))))) (re.++ (str.to.re "b") (re.* (re.union (str.to.re "z") (str.to.re "a"))))))) -(assert (str.in.re (str.++ var_8 "z" var_9 ) (re.* (re.++ (re.union (str.to.re "b") (str.to.re "a")) (re.++ (re.* (str.to.re "a")) (re.union (str.to.re "z") (str.to.re "b"))))))) -(assert (str.in.re var_9 (re.* (re.range "a" "u")))) -(assert (str.in.re var_8 (re.* (re.range "a" "u")))) -(assert (not (str.in.re (str.++ "b" var_8 "z" "b" var_9 ) (re.++ (re.* (re.++ (str.to.re "b") (str.to.re "z"))) (str.to.re "b"))))) +(assert (str.in_re (str.++ var_8 "z" var_9 ) (re.++ (re.* (re.union (str.to_re "a") (re.++ (str.to_re "b") (re.++ (re.* (re.union (str.to_re "b") (str.to_re "a"))) (str.to_re "z"))))) (re.++ (str.to_re "b") (re.* (re.union (str.to_re "b") (str.to_re "a"))))))) +(assert (str.in_re (str.++ var_8 "z" var_9 ) (re.++ (re.* (re.union (re.union (str.to_re "z") (str.to_re "a")) (re.++ (str.to_re "b") (re.++ (re.* (str.to_re "b")) (re.union (str.to_re "z") (str.to_re "a")))))) (re.++ (str.to_re "b") (re.* (str.to_re "b")))))) +(assert (str.in_re (str.++ var_8 "z" var_9 ) (re.++ (re.* (re.union (str.to_re "a") (re.++ (str.to_re "b") (re.++ (re.* (re.union (str.to_re "z") (str.to_re "a"))) (str.to_re "b"))))) (re.++ (str.to_re "b") (re.* (re.union (str.to_re "z") (str.to_re "a"))))))) +(assert (str.in_re (str.++ var_8 "z" var_9 ) (re.* (re.++ (re.union (str.to_re "b") (str.to_re "a")) (re.++ (re.* (str.to_re "a")) (re.union (str.to_re "z") (str.to_re "b"))))))) +(assert (str.in_re var_9 (re.* (re.range "a" "u")))) +(assert (str.in_re var_8 (re.* (re.range "a" "u")))) +(assert (not (str.in_re (str.++ "b" var_8 "z" "b" var_9 ) (re.++ (re.* (re.++ (str.to_re "b") (str.to_re "z"))) (str.to_re "b"))))) (check-sat) diff --git a/test/regress/regress2/strings/range-perf.smt2 b/test/regress/regress2/strings/range-perf.smt2 index 33960e124..c8a8f42fa 100644 --- a/test/regress/regress2/strings/range-perf.smt2 +++ b/test/regress/regress2/strings/range-perf.smt2 @@ -2,6 +2,6 @@ ; EXPECT: sat (set-logic QF_SLIA) (declare-const x String) -(assert (str.in.re x ((_ re.loop 12 12) (re.range "0" "9")))) -(assert (str.in.re x (re.++ (re.* re.allchar) (str.to.re "01") (re.* re.allchar)))) +(assert (str.in_re x ((_ re.loop 12 12) (re.range "0" "9")))) +(assert (str.in_re x (re.++ (re.* re.allchar) (str.to_re "01") (re.* re.allchar)))) (check-sat) diff --git a/test/regress/regress2/strings/replaceall-diffrange.smt2 b/test/regress/regress2/strings/replaceall-diffrange.smt2 index 5d1ef57bf..507c97218 100644 --- a/test/regress/regress2/strings/replaceall-diffrange.smt2 +++ b/test/regress/regress2/strings/replaceall-diffrange.smt2 @@ -1,4 +1,4 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (set-option :strings-exp true) @@ -7,5 +7,5 @@ (declare-fun y () String) (declare-fun z () String) (declare-fun w () String) -(assert (= (str.len (str.replaceall x y z)) (+ (str.len (str.replaceall x y w)) 3))) +(assert (= (str.len (str.replace_all x y z)) (+ (str.len (str.replace_all x y w)) 3))) (check-sat) diff --git a/test/regress/regress2/strings/replaceall-len-c.smt2 b/test/regress/regress2/strings/replaceall-len-c.smt2 index 336ec10e4..75840a52f 100644 --- a/test/regress/regress2/strings/replaceall-len-c.smt2 +++ b/test/regress/regress2/strings/replaceall-len-c.smt2 @@ -1,8 +1,8 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (set-option :strings-exp true) (set-option :strings-fmf true) (declare-fun x () String) -(assert (= (str.len (str.replaceall "ABBABAAB" x "C")) 5)) +(assert (= (str.len (str.replace_all "ABBABAAB" x "C")) 5)) (check-sat) diff --git a/test/regress/regress2/strings/small-1.smt2 b/test/regress/regress2/strings/small-1.smt2 index 9fc2c9f9e..e0dea5d89 100644 --- a/test/regress/regress2/strings/small-1.smt2 +++ b/test/regress/regress2/strings/small-1.smt2 @@ -1,8 +1,8 @@ -(set-info :smt-lib-version 2.5) +(set-info :smt-lib-version 2.6) (set-logic ALL) (set-info :status sat) (set-option :strings-exp true) (set-option :re-elim true) (declare-const x String) -(assert (str.in.re x (re.++ (str.to.re "example-bucket/") (re.* re.allchar) (str.to.re "/") re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar (str.to.re "-") re.allchar re.allchar re.allchar re.allchar (str.to.re "-") re.allchar re.allchar re.allchar re.allchar (str.to.re "-") re.allchar re.allchar re.allchar re.allchar (str.to.re "-") re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar (str.to.re "/foo")))) +(assert (str.in_re x (re.++ (str.to_re "example-bucket/") (re.* re.allchar) (str.to_re "/") re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar (str.to_re "-") re.allchar re.allchar re.allchar re.allchar (str.to_re "-") re.allchar re.allchar re.allchar re.allchar (str.to_re "-") re.allchar re.allchar re.allchar re.allchar (str.to_re "-") re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar re.allchar (str.to_re "/foo")))) (check-sat) diff --git a/test/unit/api/solver_black.h b/test/unit/api/solver_black.h index bfbe201d2..07b5c5aec 100644 --- a/test/unit/api/solver_black.h +++ b/test/unit/api/solver_black.h @@ -1041,7 +1041,6 @@ void SolverBlack::testSetInfo() TS_ASSERT_THROWS_NOTHING(d_solver->setInfo("smt-lib-version", "2.0")); TS_ASSERT_THROWS_NOTHING(d_solver->setInfo("smt-lib-version", "2.5")); TS_ASSERT_THROWS_NOTHING(d_solver->setInfo("smt-lib-version", "2.6")); - TS_ASSERT_THROWS_NOTHING(d_solver->setInfo("smt-lib-version", "2.6.1")); TS_ASSERT_THROWS(d_solver->setInfo("smt-lib-version", ".0"), CVC4ApiException&);