Module solver

Module solver 

Source
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 of SolverConfig.
  • 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§

DefaultConfig
Generated solver configuration.
DynamicConfig
Generated solver configuration.
SolutionStats
Contains statistics about a SAT solver’s execution.
Solutions
Represents a satisfying assignment (a model) for a CNF formula.

Enums§

SolverImpls
An enum representing different implementations of SAT solvers.
SolverType
An enum representing the types of SAT solvers available.

Traits§

Solver
A trait that defines the general interface for a SAT solver.
SolverConfig
A trait that defines the configuration for a SAT solver.