bool TheoryEngine::isProofEnabled() const { return d_pnm != nullptr; }
void TheoryEngine::checkTheoryAssertionsWithModel(bool hardFailure) {
+ bool hasFailure = false;
+ std::stringstream serror;
for(TheoryId theoryId = THEORY_FIRST; theoryId < THEORY_LAST; ++theoryId) {
Theory* theory = d_theoryTable[theoryId];
if(theory && d_logicInfo.isTheoryEnabled(theoryId)) {
if (val == d_false)
{
// Always an error if it is false
- InternalError() << ss.str();
+ hasFailure = true;
+ serror << ss.str();
}
else
{
}
}
}
+ if (hasFailure)
+ {
+ InternalError() << serror.str();
+ }
}
std::pair<bool, Node> TheoryEngine::entailmentCheck(options::TheoryOfMode mode,