satsolver  0.17.2
satsolver SAT Solver for package management
Michael Schroeder


Welcome to the sat solver documentation page.

What is the SAT solver?

The SAT solver is a package dependency solver library which offers the following:

See History of satsolver for the SAT solver history.

Basic idea

Express packaga dependencies as boolean expressions. (in conjunctive normal form - CNF)

(! == boolean not)

Concepts & Datastructures


The solver gets initialized by passing it the complete pool (all Solvables) and a single Source (called 'system', representing the installed Solvables).

It then creates rules to flag the Solvables of 'system' as installed.


See Code Conventions for code conventions.

See also for a general overview on references about satisfiability, sat-solving and its relation to package dependencies.