module O: sig .. end
val meet_idcondb : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       ('a, [> 'a Bddapron.Env.typ ] as 'c, [> 'a Bddapron.Env.typdef ] as 'd, 'e)
       Bddapron.Env.O.t ->
       ('a, ('a, 'c, 'd, 'e) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
       'b Bddapron.Mtbdddomain0.t -> int * bool -> 'b Bddapron.Mtbdddomain0.t
val size : ('a, 'b) Bddapron.Mtbdddomain0.man -> 'b Bddapron.Mtbdddomain0.t -> int
val print : ?print_apron:((int -> string) ->
                     Format.formatter -> 'b Apron.Abstract0.t -> unit) ->
       ('a, [> 'a Bddapron.Env.typ ], [> 'a Bddapron.Env.typdef ], 'e)
       Bddapron.Env.O.t -> Format.formatter -> 'b Bddapron.Mtbdddomain0.t -> unit
val bottom : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       ('a, [> 'a Bddapron.Env.typ ], [> 'a Bddapron.Env.typdef ], 'e)
       Bddapron.Env.O.t -> 'b Bddapron.Mtbdddomain0.t
val top : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       ('a, [> 'a Bddapron.Env.typ ], [> 'a Bddapron.Env.typdef ], 'e)
       Bddapron.Env.O.t -> 'b Bddapron.Mtbdddomain0.t
val of_apron : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       ('a, [> 'a Bddapron.Env.typ ], [> 'a Bddapron.Env.typdef ], 'e)
       Bddapron.Env.O.t -> 'b Apron.Abstract0.t -> 'b Bddapron.Mtbdddomain0.t
val of_bddapron : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       ('a, [> 'a Bddapron.Env.typ ], [> 'a Bddapron.Env.typdef ], 'e)
       Bddapron.Env.O.t ->
       ('a Bddapron.Expr0.Bool.t * 'b Apron.Abstract0.t) list ->
       'b Bddapron.Mtbdddomain0.t
val is_bottom : ('a, 'b) Bddapron.Mtbdddomain0.man -> 'b Bddapron.Mtbdddomain0.t -> bool
val is_top : ('a, 'b) Bddapron.Mtbdddomain0.man -> 'b Bddapron.Mtbdddomain0.t -> bool
val is_leq : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       'b Bddapron.Mtbdddomain0.t -> 'b Bddapron.Mtbdddomain0.t -> bool
val is_eq : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       'b Bddapron.Mtbdddomain0.t -> 'b Bddapron.Mtbdddomain0.t -> bool
val to_bddapron : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       'b Bddapron.Mtbdddomain0.t ->
       ('a Bddapron.Expr0.Bool.t * 'b Apron.Abstract0.t) list
val meet : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       'b Bddapron.Mtbdddomain0.t ->
       'b Bddapron.Mtbdddomain0.t -> 'b Bddapron.Mtbdddomain0.t
val join : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       'b Bddapron.Mtbdddomain0.t ->
       'b Bddapron.Mtbdddomain0.t -> 'b Bddapron.Mtbdddomain0.t
val meet_condition : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       ('a, [> 'a Bddapron.Env.typ ] as 'c, [> 'a Bddapron.Env.typdef ] as 'd, 'e)
       Bddapron.Env.O.t ->
       ('a, ('a, 'c, 'd, 'e) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
       'b Bddapron.Mtbdddomain0.t ->
       'a Bddapron.Expr0.Bool.t -> 'b Bddapron.Mtbdddomain0.t
val assign_lexpr : ?relational:bool ->
       ?nodependency:bool ->
       ('a, 'b) Bddapron.Mtbdddomain0.man ->
       ('a, [> 'a Bddapron.Env.typ ] as 'c, [> 'a Bddapron.Env.typdef ] as 'd, 'e)
       Bddapron.Env.O.t ->
       ('a, ('a, 'c, 'd, 'e) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
       'b Bddapron.Mtbdddomain0.t ->
       'a list ->
       'a Bddapron.Expr0.t list ->
       'b Bddapron.Mtbdddomain0.t option -> 'b Bddapron.Mtbdddomain0.t
val substitute_lexpr : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       ('a, [> 'a Bddapron.Env.typ ] as 'c, [> 'a Bddapron.Env.typdef ] as 'd, 'e)
       Bddapron.Env.O.t ->
       ('a, ('a, 'c, 'd, 'e) Bddapron.Env.O.t) Bddapron.Cond.O.t ->
       'b Bddapron.Mtbdddomain0.t ->
       'a list ->
       'a Bddapron.Expr0.t list ->
       'b Bddapron.Mtbdddomain0.t option -> 'b Bddapron.Mtbdddomain0.t
val forget_list : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       ('a, [> 'a Bddapron.Env.typ ], [> 'a Bddapron.Env.typdef ], 'e)
       Bddapron.Env.O.t ->
       'b Bddapron.Mtbdddomain0.t -> 'a list -> 'b Bddapron.Mtbdddomain0.t
val widening : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       'b Bddapron.Mtbdddomain0.t ->
       'b Bddapron.Mtbdddomain0.t -> 'b Bddapron.Mtbdddomain0.t
val widening_threshold : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       'b Bddapron.Mtbdddomain0.t ->
       'b Bddapron.Mtbdddomain0.t ->
       Apron.Lincons0.t array -> 'b Bddapron.Mtbdddomain0.t
val apply_change : bottom:'b Bddapron.Mtbdddomain0.t ->
       ('a, 'b) Bddapron.Mtbdddomain0.man ->
       'b Bddapron.Mtbdddomain0.t ->
       Bddapron.Env.change -> 'b Bddapron.Mtbdddomain0.t
val apply_permutation : ('a, 'b) Bddapron.Mtbdddomain0.man ->
       'b Bddapron.Mtbdddomain0.t ->
       int array option * Apron.Dim.perm option -> 'b Bddapron.Mtbdddomain0.t