EdosSolver.T
Sat solver functor type
lit_of_var
given a variable create a positive or a negative literal. By default the assigment of all variables (that is its value) is Unknown.
val initialize_problem : ?print_var:(Stdlib.Format.formatter -> int -> unit) ->
?buffer:bool -> int -> state
initialize the solver initialize_problem n
val propagate : state -> unit
val protect : state -> unit
val reset : state -> unit
reset
reset the state of the solver to a state that would be obtained by re initializing the solver with an identical constraints set
assignment st
return the array of values associated to every variable.
assignment_true st
return the list of variables that are true
add_rule st l
add a disjuction to the solver of type \Bigvee l
associate_vars st lit vl
associate a variable to a list of variables. The solver will use this information to guide the search heuristic
solve st l
finds a variable assignment that makes True
all variables in l
in case of failure return the list of associated reasons
in case of failure return the list of associated reasons
val dump : state -> (int * bool) list list
if the solver was initialized with buffer = true
, dump the state of the solver. Return an empty list otherwise
val stats : state -> unit