void Master::killActiveOrphans0() { CALL("killActiveOrphans0()"); _active.ResetIterator(); for (Clause* cl = _active.Next(); cl; cl = _active.Next()) if ((cl->Active()) && (!cl->IsVIP()) && (cl->IsOrphan())) { enqueueForDisposal(cl); _statActiveOrphansMurdered++; }; }; // void Master::killActiveOrphans0()
bool Master::backSubsumeBy(Clause* cl) { CALL("backSubsumeBy(Clause* cl)"); _backwardSubsumptionSemaphore = true; Clause* subsumedClause; bool usedSubsumed = false; if (_backSubsumption.query(cl)) { while (_backSubsumption.subsumeNext()) { _statBackSubsumed++; cl->MakeVIP(); subsumedClause = _backSubsumption.subsumed(); ASSERT(subsumedClause != cl); ASSERT(subsumedClause->Active()); usedSubsumed = (usedSubsumed || (subsumedClause->mainSet() == Clause::MainSetActive) || (subsumedClause->mainSet() == Clause::MainSetDefinitions)); enqueueForDisposal(subsumedClause); }; }; _backwardSubsumptionSemaphore = false; return (bool)usedSubsumed; }; // bool Master::backSubsumeBy(Clause* cl)