25 lines
1000 B
Diff
25 lines
1000 B
Diff
--- src/theory/quantifiers/conjecture_generator.cpp.orig 2018-06-25 15:13:18.823929253 -0600
|
|
+++ src/theory/quantifiers/conjecture_generator.cpp 2018-07-07 14:37:50.162382038 -0600
|
|
@@ -1089,16 +1089,17 @@ void ConjectureGenerator::getEnumerateUf
|
|
vec_sum = 0;
|
|
vec.push_back( size_limit );
|
|
}else{
|
|
+ int vecindex = (index < vec.size()) ? vec[index] : 0;
|
|
//see if we can iterate current
|
|
if (vec_sum < size_limit
|
|
- && !te->getEnumerateTerm(types[index], vec[index] + 1).isNull())
|
|
+ && !te->getEnumerateTerm(types[index], vecindex + 1).isNull())
|
|
{
|
|
- vec[index]++;
|
|
+ vec.assign(index, vecindex + 1);
|
|
vec_sum++;
|
|
vec.push_back( size_limit - vec_sum );
|
|
}else{
|
|
- vec_sum -= vec[index];
|
|
- vec[index] = 0;
|
|
+ vec_sum -= vecindex;
|
|
+ vec.assign(index, 0);
|
|
index++;
|
|
if( index==n.getNumChildren() ){
|
|
success = false;
|