Library
Module
Module type
Parameter
Class
Class type
Bindings to Minisat.
type 'a printer = Format.formatter -> 'a -> unit
module Lit : sig ... end
type assumptions = Lit.t array
module Raw : sig ... end
val create : unit -> t
Create a fresh solver state.
Add a clause (as an array of literals) to the solver state.
val simplify : t -> unit
Perform simplifications on the solver state. Speeds up later manipulations on the solver state, e.g. calls to solve
.
val solve : ?assumptions:assumptions -> t -> unit
Check whether the current solver state is satisfiable, additionally assuming that the literals provided in assumptions
are assigned to true. After solve
terminates (raising Unsat
or not), the solver state is unchanged: the literals in assumptions
are only considered to be true for the duration of the query.
val string_of_value : value -> string
val set_verbose : t -> int -> unit