From: Andrew Reynolds Date: Tue, 7 Aug 2018 04:04:21 +0000 (-0500) Subject: Make flat form inferences optional in strings (#2277) X-Git-Tag: cvc5-1.0.0~4810 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1872a6d20dc7b1d8430bff32d39b020addf74749;p=cvc5.git Make flat form inferences optional in strings (#2277) --- diff --git a/src/options/strings_options.toml b/src/options/strings_options.toml index 66b312737..3498b6183 100644 --- a/src/options/strings_options.toml +++ b/src/options/strings_options.toml @@ -208,3 +208,12 @@ header = "options/strings_options.h" default = "false" read_only = true help = "do length propagation based on constant splits" + +[[option]] + name = "stringFlatForms" + category = "regular" + long = "strings-ff" + type = "bool" + default = "true" + read_only = true + help = "do flat form inferences" diff --git a/src/theory/strings/theory_strings.cpp b/src/theory/strings/theory_strings.cpp index 2ce325862..1d853a754 100644 --- a/src/theory/strings/theory_strings.cpp +++ b/src/theory/strings/theory_strings.cpp @@ -4915,7 +4915,10 @@ void TheoryStrings::initializeStrategy() addStrategyStep(CHECK_CONST_EQC); addStrategyStep(CHECK_EXTF_EVAL, 0); addStrategyStep(CHECK_CYCLES); - addStrategyStep(CHECK_FLAT_FORMS); + if (options::stringFlatForms()) + { + addStrategyStep(CHECK_FLAT_FORMS); + } addStrategyStep(CHECK_EXTF_REDUCTION, 1); if (options::stringEager()) {