This module defines an operation to solve a Boolean formula with some SAT solver supporting the DIMACS format. It also defines configuration for various solvers.
Author: Michael Hanus
Version: July 2021
z3Dimacs
:: SolverConfig
The configuration of the Z3 solver for DIMACS. |
lingeling
:: SolverConfig
The configuration of the lingeling solver. |
solveWithDimacs
:: SolverConfig -> Boolean -> IO [(Int,Bool)]
Checks the satisfiability of a Boolean formula with a SAT solver supporting DIMACS format. |
boolVars2AssocList
:: [Boolean] -> [(Int,Bool)]
Translates a list of Boolean variables into a list associating the variable indices to Boolean values. |
Type of solvers configuration with fields for the name of the executable and command line flags.
Constructors:
Config
:: String -> [String] -> SolverConfig
Fields:
executable
:: String
flags
:: [String]
The configuration of the Z3 solver for DIMACS.
|
The configuration of the lingeling solver.
|
Checks the satisfiability of a Boolean formula with a SAT solver supporting DIMACS format. A list associating the variable indices to Boolean values so that the formula is satisfied is returned. If the formula is unsatisfiable, the returned list is empty. |
Translates a list of Boolean variables into a list associating the variable indices to Boolean values. |