assert(solver.ok);
solver.ok = (solver.propagate().isNULL());
if (!solver.ok) {
- std::cout << "c (contradiction during subsumption)" << std::endl;
return;
}
solver.clauseCleaner->cleanClausesBewareNULL(clauses, ClauseCleaner::simpClauses, *this);
if (!solver.ok) return;
solver.ok = (solver.propagate().isNULL());
if (!solver.ok) {
- printf("c (contradiction during subsumption)\n");
unregisterIteration(s1);
return;
}
if (!solver.ok) return;
solver.ok = (solver.propagate().isNULL());
if (!solver.ok){
- printf("c (contradiction during subsumption)\n");
unregisterIteration(s1);
unregisterIteration(s0);
return;
}
} else {
subsume0BIN(~lit, toVisitAll);
+ if (!solver.ok) goto end;
}
end:
assert(solver.ok);
solver.ok = (solver.propagate().isNULL());
if (!solver.ok) {
- printf("c (contradiction during subsumption)\n");
return false;
}
solver.clauseCleaner->cleanClausesBewareNULL(clauses, ClauseCleaner::simpClauses, *this);
for (uint32_t i = 0; i < order.size() && numMaxElim > 0; i++, numMaxElim--) {
if (maybeEliminate(order[i])) {
if (!solver.ok) {
- printf("c (contradiction during subsumption)\n");
return false;
}
vars_elimed++;
if (!solver.ok) return false;
solver.ok = (solver.propagate().isNULL());
if (!solver.ok) {
- printf("c (contradiction during subsumption)\n");
return false;
}