sig
  type operator = LessThan | Equal | Diff
  val min_max_plus_inter : int -> int -> int -> int -> int * int
  val min_max_minus_inter : int -> int -> int -> int -> int * int
  val cstr :
    ?boolsum:int ->
    (int * Fcl_var.Fd.t) list -> Fcl_linear.operator -> int -> Fcl_cstr.t
  val linear_aux : (int * Fcl_var.Fd.t) list -> int -> Fcl_var.Fd.t
  val shift_cstr : Fcl_var.Fd.t -> Fcl_var.Fd.t -> int -> Fcl_cstr.t
  val get_boolsum_threshold : unit -> int
  val set_boolsum_threshold : int -> unit
end