d_equalityEngine(d_notify, c, "theory::bv::TheoryBV", true),
d_slicer(new Slicer()),
d_isComplete(c, true),
+ d_lemmaThreshold(16),
d_useSlicer(false),
d_preregisterCalled(false),
d_checkCalled(false),
}
}
}
+ // better off letting the SAT solver split on values
+ if (equalities.size() > d_lemmaThreshold) {
+ d_isComplete = false;
+ return;
+ }
+
Node lemma = utils::mkOr(equalities);
d_bv->lemma(lemma);
Debug("bv-core") << " lemma: " << lemma << "\n";
return;
}
+
Debug("bv-core-model") << " " << repr << " => " << val <<"\n" ;
constants.insert(val);
d_modelValues[repr] = val;
Slicer* d_slicer;
context::CDO<bool> d_isComplete;
+ unsigned d_lemmaThreshold;
/** Used to ensure that the core slicer is used properly*/
- bool d_useSlicer;
+ bool d_useSlicer;
bool d_preregisterCalled;
bool d_checkCalled;