sig
  type typvar = INT | REAL
  and t
  external make :
    Apron.Var.t array -> Apron.Var.t array -> Apron.Environment.t
    = "camlidl_environment_ap_environment_make"
  external add :
    Apron.Environment.t ->
    Apron.Var.t array -> Apron.Var.t array -> Apron.Environment.t
    = "camlidl_environment_ap_environment_add"
  external remove :
    Apron.Environment.t -> Apron.Var.t array -> Apron.Environment.t
    = "camlidl_environment_ap_environment_remove"
  external rename :
    Apron.Environment.t ->
    Apron.Var.t array -> Apron.Var.t array -> Apron.Environment.t
    = "camlidl_environment_ap_environment_rename"
  external rename_perm :
    Apron.Environment.t ->
    Apron.Var.t array ->
    Apron.Var.t array -> Apron.Environment.t * Apron.Dim.perm
    = "camlidl_environment_ap_environment_rename_perm"
  external lce :
    Apron.Environment.t -> Apron.Environment.t -> Apron.Environment.t
    = "camlidl_environment_ap_environment_lce"
  external lce_change :
    Apron.Environment.t ->
    Apron.Environment.t ->
    Apron.Environment.t * Apron.Dim.change option * Apron.Dim.change option
    = "camlidl_environment_ap_environment_lce_change"
  external dimchange :
    Apron.Environment.t -> Apron.Environment.t -> Apron.Dim.change
    = "camlidl_environment_ap_environment_dimchange"
  external dimchange2 :
    Apron.Environment.t -> Apron.Environment.t -> Apron.Dim.change2
    = "camlidl_environment_ap_environment_dimchange2"
  external equal : Apron.Environment.t -> Apron.Environment.t -> bool
    = "camlidl_environment_ap_environment_equal"
  external compare : Apron.Environment.t -> Apron.Environment.t -> int
    = "camlidl_environment_ap_environment_compare"
  external hash : Apron.Environment.t -> int
    = "camlidl_environment_ap_environment_hash"
  external dimension : Apron.Environment.t -> Apron.Dim.dimension
    = "camlidl_environment_ap_environment_dimension"
  external size : Apron.Environment.t -> int
    = "camlidl_environment_ap_environment_size"
  external mem_var : Apron.Environment.t -> Apron.Var.t -> bool
    = "camlidl_environment_ap_environment_mem_var"
  external typ_of_var :
    Apron.Environment.t -> Apron.Var.t -> Apron.Environment.typvar
    = "camlidl_environment_ap_environment_typ_of_var"
  external vars :
    Apron.Environment.t -> Apron.Var.t array * Apron.Var.t array
    = "camlidl_environment_ap_environment_vars"
  external var_of_dim : Apron.Environment.t -> Apron.Dim.t -> Apron.Var.t
    = "camlidl_environment_ap_environment_var_of_dim"
  external dim_of_var : Apron.Environment.t -> Apron.Var.t -> Apron.Dim.t
    = "camlidl_environment_ap_environment_dim_of_var"
  val print :
    ?first:(unit, Format.formatter, unit) Pervasives.format ->
    ?sep:(unit, Format.formatter, unit) Pervasives.format ->
    ?last:(unit, Format.formatter, unit) Pervasives.format ->
    Format.formatter -> Apron.Environment.t -> unit
end