functor (I : ARITH) ->
functor
(L : sig
type t = I.e
val level : Trace.level
val eq : Infsys.LEVEL.t -> Infsys.LEVEL.t -> bool
val diff : Infsys.LEVEL.t -> Infsys.LEVEL.t -> Infsys.LEVEL.t
val pp : Infsys.LEVEL.t Pretty.printer
end) ->
sig
type e = I.e
val current : unit -> Infsys.ARITH.e
val initialize : Infsys.ARITH.e -> unit
val finalize : unit -> Infsys.ARITH.e
val abstract : Term.t -> unit
val merge : Fact.Equal.t -> unit
val propagate : Fact.Equal.t -> unit
val dismerge : Fact.Diseq.t -> unit
val propagate_diseq : Fact.Diseq.t -> unit
val branch : unit -> unit
val normalize : unit -> unit
val nonneg : Fact.Nonneg.t -> unit
val pos : Fact.Pos.t -> unit
end