Module Arith_rat

module Arith_rat: sig .. end

Cancellative Inferences on Rational Arithmetic

Following Uwe Waldmann's work.

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.

module type S = sig .. end
module Make: 
functor (E : Env.S) -> S with module Env = E
val extension : Extensions.t