Expand description
The solver module provides the main interface for solving SAT problems using various algorithms and techniques.
Defines common types and traits for SAT solvers, including solver configurations,
solution representation, and statistics.
This module provides:
SolutionStats: A struct to hold statistics about a solver’s run (conflicts, decisions, etc.).Solutions: A struct to represent a satisfying assignment (a model) for a formula.SolverConfig: A trait to define a configuration for a SAT solver, specifying the types for various components like literals, assignment management, variable selection, propagation, restart strategy, and clause management.solver_config!: A macro to easily create concrete implementations ofSolverConfig.DefaultConfig: A pre-defined default solver configuration using common component choices.Solver: A trait defining the general interface for a SAT solver.
Macros§
- solver_
config - A macro to conveniently define a struct that implements
SolverConfig.
Structs§
- Default
Config - Generated solver configuration.
- Dynamic
Config - Generated solver configuration.
- Solution
Stats - Contains statistics about a SAT solver’s execution.
- Solutions
- Represents a satisfying assignment (a model) for a CNF formula.
Enums§
- Solver
Impls - An enum representing different implementations of SAT solvers.
- Solver
Type - An enum representing the types of SAT solvers available.
Traits§
- Solver
- A trait that defines the general interface for a SAT solver.
- Solver
Config - A trait that defines the configuration for a SAT solver.