Parameter Make.2-Sat
module Lit = Libzipperposition.BBox.Lit- type clause- = Lit.t list
- val add_clause : proof:Libzipperposition.Sat_solver.proof_step -> Lit.t list -> unit
- add_clause ~tag ~proof cadds the constraint- cto the SAT solver, annotated with- proof.- tagis a unique identifier for this constraint and must not have been already used.
- val add_clauses : proof:Libzipperposition.Sat_solver.proof_step -> Lit.t list list -> unit
- val add_clause_seq : proof:Libzipperposition.Sat_solver.proof_step -> Lit.t list Sequence.t -> unit
- val check : full:bool -> unit -> Libzipperposition.Sat_solver.result
- Is the current problem satisfiable? - parameter full
- if true, check unconditionally 
 
- val last_result : unit -> Libzipperposition.Sat_solver.result
- Last computed result. This does not compute a new result 
- val valuation : Lit.t -> bool
- Assuming the last call to - checkreturned- Sat, get the boolean valuation for this (positive) literal in the current model.- raises WrongState
- if the last result wasn't - Sat
 
- val valuation_level : Lit.t -> bool * int
- Gives the value of a literal in the model, as well as its decision level. If decision level is 0, the literal has been proved, rather than decided/propagated - raises WrongState
- if the last result wasn't - Sat
 
- val proved_at_0 : Lit.t -> bool option
- If the literal has been propagated at decision level 0, return its value (which does not depend on the model). Otherwise return - None
- val all_proved : unit -> Lit.Set.t
- Set of (signed) proved literals 
- val set_printer : Lit.t CCFormat.printer -> unit
- How to print literals? 
- val get_proof : unit -> Libzipperposition.Sat_solver.proof
- Return a proof of - false, assuming- checkreturned- Unsat. The leaves of the proof are input clauses' proofs, the internal nodes are clauses deduced by the SAT solver.- raises WrongState
- if the last result isn't - Unsat
 
- val get_proof_opt : unit -> Libzipperposition.Sat_solver.proof option
- Obtain the proof, if any 
- val get_proof_of_lit : Lit.t -> Libzipperposition.Sat_solver.proof
- get_proof_of_lit litreturns the proof of- lit, assuming it has been proved true at level 0 (see- valuation_level)- raises Invalid_argument
- if the literal is not at level 0