sig
  val of_apronexpr :
    ('a, [> 'Bddapron.Env.typ ] as 'b, [> 'Bddapron.Env.typdef ] as 'c,
     'd)
    Bddapron.Env.O.t ->
    ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
    'Bddapron.Apronexpr.Condition.t -> Cudd.Bdd.vt
  val of_condition :
    ('a, [> 'Bddapron.Env.typ ] as 'b, [> 'Bddapron.Env.typdef ] as 'c,
     'd)
    Bddapron.Env.O.t ->
    ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
    [< `Bool of bool | `Cond of 'Bddapron.Apronexpr.Condition.t ] ->
    Cudd.Bdd.vt
  val make :
    ('a, [> 'Bddapron.Env.typ ] as 'b, [> 'Bddapron.Env.typdef ] as 'c,
     'd)
    Bddapron.Env.O.t ->
    ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
    Bddapron.Apronexpr.Condition.typ ->
    'Bddapron.ApronexprDD.t -> Cudd.Bdd.vt
  val supeq :
    ('a, [> 'Bddapron.Env.typ ] as 'b, [> 'Bddapron.Env.typdef ] as 'c,
     'd)
    Bddapron.Env.O.t ->
    ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
    'Bddapron.ApronexprDD.t -> Cudd.Bdd.vt
  val sup :
    ('a, [> 'Bddapron.Env.typ ] as 'b, [> 'Bddapron.Env.typdef ] as 'c,
     'd)
    Bddapron.Env.O.t ->
    ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
    'Bddapron.ApronexprDD.t -> Cudd.Bdd.vt
  val eq :
    ('a, [> 'Bddapron.Env.typ ] as 'b, [> 'Bddapron.Env.typdef ] as 'c,
     'd)
    Bddapron.Env.O.t ->
    ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
    'Bddapron.ApronexprDD.t -> Cudd.Bdd.vt
  val substitute :
    ('a, [> 'Bddapron.Env.typ ] as 'b, [> 'Bddapron.Env.typdef ] as 'c,
     'd)
    Bddapron.Env.O.t ->
    ('a, ('a, 'b, 'c, 'd) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
    'Bddapron.Apronexpr.Condition.t ->
    ('a, [> `Apron of 'Bddapron.ApronexprDD.t ]) PMappe.t -> Cudd.Bdd.vt
end