diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2018-08-06 23:04:21 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-06 23:04:21 -0500 |
commit | 1872a6d20dc7b1d8430bff32d39b020addf74749 (patch) | |
tree | 0d4cbd2dae358ceffa81394008d480ee80a7b0f8 /src | |
parent | 562ee7da1637353a73884af6c9869cd21554b534 (diff) |
Make flat form inferences optional in strings (#2277)
Diffstat (limited to 'src')
-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()) { |