sig
  type t
  val zero : Mpa.Z.t
  val one : Mpa.Z.t
  val two : Mpa.Z.t
  val add : Mpa.Z.t -> Mpa.Z.t -> Mpa.Z.t
  val sub : Mpa.Z.t -> Mpa.Z.t -> Mpa.Z.t
  val succ : Mpa.Z.t -> Mpa.Z.t
  val mult : Mpa.Z.t -> Mpa.Z.t -> Mpa.Z.t
  val divexact : Mpa.Z.t -> Mpa.Z.t -> Mpa.Z.t
  val expt : Mpa.Z.t -> int -> Mpa.Z.t
  val equal : Mpa.Z.t -> Mpa.Z.t -> bool
  val compare : Mpa.Z.t -> Mpa.Z.t -> int
  val lt : Mpa.Z.t -> Mpa.Z.t -> bool
  val le : Mpa.Z.t -> Mpa.Z.t -> bool
  val gt : Mpa.Z.t -> Mpa.Z.t -> bool
  val ge : Mpa.Z.t -> Mpa.Z.t -> bool
  val of_int : int -> Mpa.Z.t
  val to_int : Mpa.Z.t -> int
  val gcd : Mpa.Z.t -> Mpa.Z.t -> Mpa.Z.t
  val lcm : Mpa.Z.t -> Mpa.Z.t -> Mpa.Z.t
  val pow : int -> int -> Mpa.Z.t
  val to_string : Mpa.Z.t -> string
  val pp : Format.formatter -> Mpa.Z.t -> unit
end