Accelerated Deletion-based Extraction of Minimal Unsatisfiable Cores
Abstract
Various technologies are based on the capability to find small unsatisfiable cores given an unsatisfiable CNF formula, i.e., a subset of the clauses that are unsatisfiable regardless of the rest of the formula. If that subset is irreducible, it is called a Minimal Unsatisfiable Core (MUC). In many cases, the MUC is required not in terms of clauses, rather in terms of a preknown user-given set of high-level constraints, where each such constraint is a conjunction of clauses. We call the problem of minimizing the participation of such constraints high-level minimal unsatisfiable core (HLMUC) extraction. All the current state-of-the-art tools for MUC- and HLMUC-extraction are deletion-based, which means that they iteratively try to delete clauses from the core. We propose nine optimizations to this general strategy, although not all apply to both MUC and HLMUC. For both cases we achieved over a 2X improvement in run time comparing to the state-of-the-art and a reduction in the core size, when applied to a benchmark set consisting of hundreds of industrial test cases. These techniques are implemented in our award-winning solvers HaifaMUC and HaifaHLMUC.