package mc2
Install
Dune Dependency
Authors
Maintainers
Sources
md5=92de696251ec76fbf3eba6ee917fd80f
sha512=e88ba0cfc23186570a52172a0bd7c56053273941eaf3cda0b80fb6752e05d1b75986b01a4e4d46d9711124318e57cba1cd92d302e81d34f9f1ae8b49f39114f0
doc/mc2.core/Mc2_core/Solver/index.html
Module Mc2_core.Solver
Source
Main Interface for the Solver
The type of atoms given by the module argument for formulas
Types
Main Type
The type of a solver
Base operations
Create a new solver with the given plugins
Obtain a service by its key
Obtain a service by its key, or fail
Add the list of clauses to the current set of assumptions. Modifies the sat solver state in place.
Add a new literal (i.e term) to the solver. This term will be decided on at some point during solving, whether it appears in clauses or not.
Returns the unsat core of a given proof.
true_at_level0 a
returns true
if a
was proved at level0, i.e. it must hold in all models
type 'clause clause_sets = {
cs_hyps : 'clause Mc2_core__.Vec.t;
cs_history : 'clause Mc2_core__.Vec.t;
cs_local : 'clause Mc2_core__.Vec.t;
}
Current state of the SAT solver
Iterate on current sets of clauses
Opaque view on the solver in a given state, with a phantom parameter to indicate in which state it is
Exception raised by the evaluating functions when a literal has not yet been assigned a value.
type res =
| Sat of Sat_state.t
(*Returned when the solver reaches SAT
*)| Unsat of Unsat_state.t
(*Returned when the solver reaches UNSAT
*)
Result type for the solver
val solve :
?gc:bool ->
?restarts:bool ->
?time:float ->
?memory:float ->
?progress:bool ->
?assumptions:atom list ->
?switch:Util.Switch.t ->
t ->
res
Try and solves the current set of assumptions.
Print stats