summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/options/strings_options.toml9
-rw-r--r--src/theory/strings/theory_strings.cpp5
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())
{
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback