sig
module Coeff : Scalar.S
type t
val of_list : (Ident.t * Coeff.t) list -> Coeff.t -> LinExpr.S.t
val to_list : LinExpr.S.t -> (Ident.t * Coeff.t) list * Coeff.t
val var : Ident.t -> LinExpr.S.t
val const : Coeff.t -> LinExpr.S.t
val mult_scalar : Coeff.t -> LinExpr.S.t -> LinExpr.S.t
val add : LinExpr.S.t -> LinExpr.S.t -> LinExpr.S.t
val sub : LinExpr.S.t -> LinExpr.S.t -> LinExpr.S.t
val replace : LinExpr.S.t -> (Ident.t * LinExpr.S.t) list -> LinExpr.S.t
val remove : LinExpr.S.t -> Ident.t -> LinExpr.S.t
val compare : LinExpr.S.t -> LinExpr.S.t -> int
val is_var : LinExpr.S.t -> (Ident.t * Coeff.t) option
val is_const : LinExpr.S.t -> Coeff.t option
val choose : LinExpr.S.t -> (Ident.t * Coeff.t) option
val pp : Stdlib.Format.formatter -> LinExpr.S.t -> unit
end