Interface SatSolver

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
LingelingSatSolver, MinisatSatSolver, PicosatSatSolver

public interface SatSolver extends AutoCloseable
A minimalistic, low-level and stateful SAT solver interface.

The goal of this interface is to provide a common and overhead-less interface to (usually) native SAT solver implementations. This is mirrored in the design of the methods of this interface. Hence, literals are represented as signed integers analogous to DIMACS format, this usually allows for a direct delegation to some native function, without any intermediate mapping layer. Further consider witness(int[]) for instance, by explicitly stating the propositional variables as a parameter, it is not necessary for the implementation to memorize the used variables, which results in less memory overhead.

Author:
Mathias Hofer