sig
  val set_timeout : float -> unit
  val clear_timeout : unit -> unit
  val simplify : int list -> int list list -> int list list
  val minimize : sep:int -> int list -> int list list -> int list
  val sat : int list list -> int list option
  val is_sat : int list list -> bool
  exception OverBound
  val convert :
    ?disc_vars:int list ->
    ?bound:int option -> int list list -> int list list
  val convert_aux_cnf :
    ?disc_vars:int list ->
    ?bound:int option -> int -> int list list -> int list list
  val clause_str : int list -> string
  val cnf_str : int list list -> string
  val conjunct_str : int list -> string
  val dnf_str : int list list -> string
end