Module Arith.Lin


module Lin: sig .. end

type term = Mpqf.t * Var.t 

type expr = {
   cst : Mpqf.t;
   lterm : term list;
}
val normalize : expr -> expr
val compare_lterm : term list -> term list -> int
val compare : expr -> expr -> int
val var : Var.t -> expr
val cst : Mpqf.t -> expr
val add : expr -> expr -> expr
val sub : expr -> expr -> expr
val scale : Mpqf.t -> expr -> expr
val negate : expr -> expr
val support : expr -> Var.Set.t
val rename : expr -> Var.t Var.Map.t -> expr
val normalize_as_constraint : expr -> expr
val print : Format.formatter -> expr -> unit