The problem of finding a small unsatisfiable core of an unsatisfiable CNF formula is addressed. The proposed algorithm,
, iterates over each internal node
in the resolution graph that ‘consumes’ a large number of clauses
(i.e. a large number of original clauses are present in the unsat core only for proving
) and attempts to prove them without the
clauses. If this is possible, it transforms the resolution graph into a new graph that does not have the
clauses at its core.
can be integrated into a fixpoint framework similarly to Malik and Zhang’s fix-point algorithm (
). We call this option
. Experimental evaluation on a large number of industrial CNF unsatisfiable formulas shows that
doubles, on average, the number of reduced clauses in comparison to
. It is also better when used as a component in a bigger system that enforces short timeouts.