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 =
val extension :