sig
  type t
  external make : int option -> Apron.Linexpr0.t
    = "camlidl_linexpr0_ap_linexpr0_make"
  val of_list :
    int option ->
    (Apron.Coeff.t * Apron.Dim.t) list ->
    Apron.Coeff.t option -> Apron.Linexpr0.t
  val of_array :
    int option ->
    (Apron.Coeff.t * Apron.Dim.t) array ->
    Apron.Coeff.t option -> Apron.Linexpr0.t
  external minimize : Apron.Linexpr0.t -> unit
    = "camlidl_linexpr0_ap_linexpr0_minimize"
  external copy : Apron.Linexpr0.t -> Apron.Linexpr0.t
    = "camlidl_linexpr0_ap_linexpr0_copy"
  external compare : Apron.Linexpr0.t -> Apron.Linexpr0.t -> int
    = "camlidl_linexpr0_ap_linexpr0_compare"
  external hash : Apron.Linexpr0.t -> int
    = "camlidl_linexpr0_ap_linexpr0_hash"
  external get_size : Apron.Linexpr0.t -> int
    = "camlidl_linexpr0_ap_linexpr0_get_size"
  external get_cst : Apron.Linexpr0.t -> Apron.Coeff.t
    = "camlidl_linexpr0_ap_linexpr0_get_cst"
  external get_coeff : Apron.Linexpr0.t -> int -> Apron.Coeff.t
    = "camlidl_linexpr0_ap_linexpr0_get_coeff"
  val set_list :
    Apron.Linexpr0.t ->
    (Apron.Coeff.t * Apron.Dim.t) list -> Apron.Coeff.t option -> unit
  val set_array :
    Apron.Linexpr0.t ->
    (Apron.Coeff.t * Apron.Dim.t) array -> Apron.Coeff.t option -> unit
  external set_cst : Apron.Linexpr0.t -> Apron.Coeff.t -> unit
    = "camlidl_linexpr0_ap_linexpr0_set_cst"
  external set_coeff : Apron.Linexpr0.t -> int -> Apron.Coeff.t -> unit
    = "camlidl_linexpr0_ap_linexpr0_set_coeff"
  external iter :
    (Apron.Coeff.t -> Apron.Dim.t -> unit) -> Apron.Linexpr0.t -> unit
    = "camlidl_expr0_linexpr0_iter"
  val print :
    (Apron.Dim.t -> string) -> Format.formatter -> Apron.Linexpr0.t -> unit
end