Module Arith_int

module Arith_int: sig .. end

Cancellative Inferences on Integer Arithmetic

Superposition, chaining and modulo reasoning for linear expressions, with congruence classes of terms and literals. Inferences are typically done with "scaled" literals, i.e. literals that are multiplied by numeric coefficients so as to bring the unified terms to the same coefficient.

val case_switch_limit : int Pervasives.ref
Positive integer: maximum width of an inequality case switch. Default: 30
val div_case_switch_limit : int Pervasives.ref
Positive integer: maximum prime number suitable for div_case_switch (ie maximum n for enumeration of cases in n^k | x)
module type S = sig .. end
module Make: 
functor (E : Env.S) -> S with module Env = E
val extension : Extensions.t