There is a block of code in FMF instantiation that is questionable whether it is helpful, in particular for dealing with string reductions for long strings.
default = "1000"
help = "the maximum cardinality of an interpreted type for which exhaustive enumeration in finite model finding is attempted"
+[[option]]
+ name = "fmfBoundBlast"
+ category = "expert"
+ long = "fmf-bound-blast"
+ type = "bool"
+ default = "false"
+ help = "send all instantiations for bounded ranges in a single round"
+
### Conflict-based instantiation options
[[option]]
Trace("fmc-exh-debug") << std::endl;
int index = riter.increment();
Trace("fmc-exh-debug") << "Incremented index " << index << std::endl;
- if( !riter.isFinished() ){
+ if (!options().quantifiers.fmfBoundBlast && !riter.isFinished())
+ {
if (index >= 0 && riter.d_index[index] > 0 && addedLemmas > 0
&& riter.d_enum_type[index] == ENUM_CUSTOM)
{