sig
  type t = bool
  external not : bool -> bool = "%boolnot"
  external ( && ) : bool -> bool -> bool = "%sequand"
  external ( || ) : bool -> bool -> bool = "%sequor"
  val zero : bool
  val one : bool
  val neg : bool -> bool
  val succ : '-> bool
  val pred : '-> bool
  val abs : '-> 'a
  val add : bool -> bool -> bool
  val mul : bool -> bool -> bool
  val sub : '-> bool -> bool
  val div : '-> '-> 'c
  val modulo : '-> '-> 'c
  val pow : '-> '-> 'c
  val min_num : bool
  val max_num : bool
  val compare : '-> '-> int
  val of_int : int -> bool
  val to_int : bool -> int
  val of_string : string -> bool
  val to_string : bool -> string
  val of_float : float -> bool
  val to_float : bool -> float
  val ( + ) : t -> t -> t
  val ( - ) : t -> t -> t
  val ( * ) : t -> t -> t
  val ( / ) : t -> t -> t
  val ( ** ) : t -> t -> t
  val ( <> ) : t -> t -> bool
  val ( >= ) : t -> t -> bool
  val ( <= ) : t -> t -> bool
  val ( > ) : t -> t -> bool
  val ( < ) : t -> t -> bool
  val ( = ) : t -> t -> bool
  val operations : t BatNumber.numeric
  val print : 'BatInnerIO.output -> t -> unit
  val t_printer : t BatValue_printer.t
end