sig
  type t = Bddint.t
  val of_expr : Formula.expr -> Formula.Bint.t
  val to_expr : Formula.Bint.t -> Formula.expr
  val of_int :
    #Formula.db -> [> `Tbint of bool * int ] -> int -> Formula.Bint.t
  val var : #Formula.db -> Var.t -> Formula.Bint.t
  val neg : #Formula.db -> Formula.Bint.t -> Formula.Bint.t
  val succ : #Formula.db -> Formula.Bint.t -> Formula.Bint.t
  val pred : #Formula.db -> Formula.Bint.t -> Formula.Bint.t
  val add : #Formula.db -> Formula.Bint.t -> Formula.Bint.t -> Formula.Bint.t
  val sub : #Formula.db -> Formula.Bint.t -> Formula.Bint.t -> Formula.Bint.t
  val shift_left : #Formula.db -> int -> Formula.Bint.t -> Formula.Bint.t
  val shift_right : #Formula.db -> int -> Formula.Bint.t -> Formula.Bint.t
  val scale : #Formula.db -> int -> Formula.Bint.t -> Formula.Bint.t
  val ite :
    #Formula.db ->
    Bdd.t -> Formula.Bint.t -> Formula.Bint.t -> Formula.Bint.t
  val zero : #Formula.db -> Formula.Bint.t -> Bdd.t
  val eq : #Formula.db -> Formula.Bint.t -> Formula.Bint.t -> Bdd.t
  val eq_int : #Formula.db -> Formula.Bint.t -> int -> Bdd.t
  val supeq : #Formula.db -> Formula.Bint.t -> Formula.Bint.t -> Bdd.t
  val supeq_int : #Formula.db -> Formula.Bint.t -> int -> Bdd.t
  val sup : #Formula.db -> Formula.Bint.t -> Formula.Bint.t -> Bdd.t
  val print : #Formula.db -> Format.formatter -> Formula.Bint.t -> unit
end