sig
  type t
  val pretty : Abstract_interp.Rel.t Pretty_utils.formatter
  val equal : Abstract_interp.Rel.t -> Abstract_interp.Rel.t -> bool
  val compare : Abstract_interp.Rel.t -> Abstract_interp.Rel.t -> int
  val hash : Abstract_interp.Rel.t -> int
  val zero : Abstract_interp.Rel.t
  val is_zero : Abstract_interp.Rel.t -> bool
  val sub :
    Abstract_interp.Rel.t -> Abstract_interp.Rel.t -> Abstract_interp.Rel.t
  val add_abs :
    Abstract_interp.Int.t -> Abstract_interp.Rel.t -> Abstract_interp.Int.t
  val add :
    Abstract_interp.Rel.t -> Abstract_interp.Rel.t -> Abstract_interp.Rel.t
  val sub_abs :
    Abstract_interp.Int.t -> Abstract_interp.Int.t -> Abstract_interp.Rel.t
  val e_rem :
    Abstract_interp.Rel.t -> Abstract_interp.Int.t -> Abstract_interp.Rel.t
  val check : rem:Abstract_interp.Rel.t -> modu:Abstract_interp.Int.t -> bool
end