diff options
-rw-r--r-- | src/options/strings_options.toml | 9 | ||||
-rw-r--r-- | src/theory/strings/theory_strings.cpp | 5 |
2 files changed, 13 insertions, 1 deletions
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()) { |