Since version 1.2, Gophersat provides facilities to analyze unsatisfiable (UNSAT) instances. This is useful for verifying solver correctness and obtaining explanations for why a formula cannot be made true.
UNSAT Certificates
An UNSAT certificate is a sequence of clauses (often using RUP notation or extensions) that can be deduced from the original formula. It provides a mathematical proof that the formula is unsatisfiable, allowing users to verify the result without trusting the solver's internal logic.
Note: Because certificates are traces of the solving process, they can be significantly larger than the original formula.
Minimal Unsatisfiable Subformula (MUS)
A Minimal Unsatisfiable Subformula (MUS) is a subset of the original clauses that is itself UNSAT, but becomes satisfiable if any single clause is removed. MUSes help humans identify the specific core of a problem that causes unsatisfiability.
Key considerations for MUS extraction:
- Computational Cost: Finding a MUS is expensive. Gophersat finds a MUS by checking if each clause is required to maintain unsatisfiability, which involves calling the SAT solver $n$ times (where $n$ is the number of clauses). This can be extremely slow for large formulas.
- Non-Uniqueness: A problem can have multiple MUSes. Finding one MUS does not guarantee you have found the shortest possible MUS, nor does it reveal how many other MUSes exist.
- Limitations: Gophersat cannot find all MUSes or the absolute smallest MUS, as these tasks are computationally intractable.