sig
  type typ =
    Apron.Tcons1.typ =
      EQ
    | SUPEQ
    | SUP
    | DISEQ
    | EQMOD of Apron.Scalar.t
  type 'a t = Bddapron.Apronexpr.Condition.typ * 'Bddapron.Apronexpr.expr
  val make :
    ('a, [> Bddapron.Apronexpr.Condition.typ ]) Bddapron.Apronexpr.typ_of_var ->
    Bddapron.Apronexpr.Condition.typ ->
    'Bddapron.Apronexpr.expr ->
    [ `Bool of bool | `Cond of 'Bddapron.Apronexpr.Condition.t ]
  val negate :
    ('a, [> Bddapron.Apronexpr.Condition.typ ]) Bddapron.Apronexpr.typ_of_var ->
    'Bddapron.Apronexpr.Condition.t -> 'Bddapron.Apronexpr.Condition.t
  val support :
    'Bddapron.Apronexpr.symbol ->
    'Bddapron.Apronexpr.Condition.t -> 'PSette.t
  val print :
    'Bddapron.Apronexpr.symbol ->
    Format.formatter -> 'Bddapron.Apronexpr.Condition.t -> unit
  val compare :
    'Bddapron.Apronexpr.symbol ->
    'Bddapron.Apronexpr.Condition.t ->
    'Bddapron.Apronexpr.Condition.t -> int
  val of_lincons0 :
    'Bddapron.Apronexpr.symbol ->
    ('a, [> Bddapron.Apronexpr.Condition.typ ]) Bddapron.Apronexpr.typ_of_var ->
    Apron.Environment.t ->
    Apron.Lincons0.t ->
    [ `Bool of bool | `Cond of 'Bddapron.Apronexpr.Condition.t ]
  val of_lincons1 :
    'Bddapron.Apronexpr.symbol ->
    ('a, [> Bddapron.Apronexpr.Condition.typ ]) Bddapron.Apronexpr.typ_of_var ->
    Apron.Lincons1.t ->
    [ `Bool of bool | `Cond of 'Bddapron.Apronexpr.Condition.t ]
  val of_tcons0 :
    'Bddapron.Apronexpr.symbol ->
    ('a, [> Bddapron.Apronexpr.Condition.typ ]) Bddapron.Apronexpr.typ_of_var ->
    Apron.Environment.t ->
    Apron.Tcons0.t ->
    [ `Bool of bool | `Cond of 'Bddapron.Apronexpr.Condition.t ]
  val of_tcons1 :
    'Bddapron.Apronexpr.symbol ->
    ('a, [> Bddapron.Apronexpr.Condition.typ ]) Bddapron.Apronexpr.typ_of_var ->
    Apron.Tcons1.t ->
    [ `Bool of bool | `Cond of 'Bddapron.Apronexpr.Condition.t ]
  val to_tcons0 :
    'Bddapron.Apronexpr.symbol ->
    Apron.Environment.t ->
    'Bddapron.Apronexpr.Condition.t -> Apron.Tcons0.t
  val to_tcons1 :
    'Bddapron.Apronexpr.symbol ->
    Apron.Environment.t ->
    'Bddapron.Apronexpr.Condition.t -> Apron.Tcons1.t
  val to_apron0 :
    'Bddapron.Apronexpr.symbol ->
    Apron.Environment.t ->
    'Bddapron.Apronexpr.Condition.t ->
    [ `Lin of Apron.Lincons0.t | `Tree of Apron.Tcons0.t ]
  val to_apron1 :
    'Bddapron.Apronexpr.symbol ->
    Apron.Environment.t ->
    'Bddapron.Apronexpr.Condition.t ->
    [ `Lin of Apron.Lincons1.t | `Tree of Apron.Tcons1.t ]
end