sig
  type divisor = { prime : Z.t; power : int; }
  val is_prime : Z.t -> bool
  val prime_decomposition : Z.t -> ArithLit.Util.divisor list
  val primes_leq : Z.t -> Z.t Sequence.t
end