[][src]Crate varisat

Varisat is a CDCL based SAT solver written in rust. Given a boolean formula in conjunctive normal form, it either finds a variable assignment that makes the formula true or finds a proof that this is impossible.

In addition to this API documentation, Varisat comes with a user manual.

Re-exports

pub use solver::Solver;

Modules

analyze_conflict

Learns a new clause by analyzing a conflict.

assumptions

Incremental solving.

binary

Binary clauses.

cdcl

Conflict driven clause learning.

checker

Proof checker for Varisat proofs.

clause

Clause storage.

cnf

CNF formulas.

config

Solver configuration.

context

Central solver data structure.

decision

Decision heuristics.

dimacs

DIMCAS CNF parser and writer.

glue

Compute glue levels of clauses.

lit

Literals and variables.

load

Loading a formula into the solver.

model

Global model reconstruction

proof

Proof generation.

prop

Unit propagation.

schedule

Scheduling of processing and solving steps.

solver

Boolean satisfiability solver.

state

Miscellaneous solver state.

tmp

Temporary data.

unit_simplify

Simplification using unit clauses.

variables

Variable mapping and metadata.

Macros

cnf

Shortcut for tests

lit

Shortcut for tests

Structs

CnfFormula

A formula in conjunctive normal form (CNF).

Lit

A boolean literal.

Var

A boolean variable.

Enums

ProofFormat

Proof formats that can be generated during solving.

Traits

ExtendFormula

Extend a formula with new variables and clauses.