mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-10 13:14:09 -05:00
39 lines
1.1 KiB
OCaml
39 lines
1.1 KiB
OCaml
(** Main API *)
|
|
|
|
|
|
module Solver_intf = Solver_intf
|
|
|
|
module type S = Solver_intf.S
|
|
module type FORMULA = Solver_intf.FORMULA
|
|
module type PLUGIN_CDCL_T = Solver_intf.PLUGIN_CDCL_T
|
|
module type PROOF = Solver_intf.PROOF
|
|
|
|
type lbool = Solver_intf.lbool = L_true | L_false | L_undefined
|
|
|
|
module type SAT_STATE = Solver_intf.SAT_STATE
|
|
type 'form sat_state = 'form Solver_intf.sat_state
|
|
|
|
type ('formula, 'proof) reason = ('formula, 'proof) Solver_intf.reason =
|
|
| Consequence of (unit -> 'formula list * 'proof) [@@unboxed]
|
|
|
|
module type ACTS = Solver_intf.ACTS
|
|
type ('formula, 'proof) acts = ('formula, 'proof) Solver_intf.acts
|
|
|
|
type negated = Solver_intf.negated = Negated | Same_sign
|
|
|
|
(** Print {!negated} values *)
|
|
let pp_negated out = function
|
|
| Negated -> Format.fprintf out "negated"
|
|
| Same_sign -> Format.fprintf out "same-sign"
|
|
|
|
(** Print {!lbool} values *)
|
|
let pp_lbool out = function
|
|
| L_true -> Format.fprintf out "true"
|
|
| L_false -> Format.fprintf out "false"
|
|
| L_undefined -> Format.fprintf out "undefined"
|
|
|
|
exception No_proof = Solver_intf.No_proof
|
|
|
|
module Solver = Solver
|
|
module Make_cdcl_t = Solver.Make_cdcl_t
|
|
module Make_pure_sat = Solver.Make_pure_sat
|