sig
  type ('a, 'b) man =
    ('a, 'b) Bddapron.Policy.PMtbdddomain0.man = {
    man : ('a, 'b) Bddapron.Mtbdddomain0.man;
    papron : 'Apron.Policy.man;
    ptable : 'Bddapron.Policy.DPolicy.table;
    betable : 'Bddapron.Policy.DDDnf.table;
    symbol : 'Bddapron.Env.symbol;
  }
  type 'a t = 'Bddapron.Policy.PMtbdddomain0.t
  val manager_get_manager :
    ('a, 'b) Bddapron.Policy.Mtbdddomain0.man ->
    ('a, 'b) Bddapron.Mtbdddomain0.man
  val make_man :
    ?global:bool ->
    symbol:'Bddapron.Env.symbol ->
    'Apron.Policy.man -> ('a, 'b) Bddapron.Policy.Mtbdddomain0.man
  val equal :
    '->
    'Bddapron.Policy.Mtbdddomain0.t ->
    'Bddapron.Policy.Mtbdddomain0.t -> bool
  val print :
    ('a, 'b) Bddapron.Policy.Mtbdddomain0.man ->
    'Bddapron.Env.t ->
    'Bddapron.Cond.t ->
    Format.formatter -> 'Bddapron.Policy.Mtbdddomain0.t -> unit
  val meet_condition_apply :
    ('a, 'b) Bddapron.Policy.Mtbdddomain0.man ->
    'Bddapron.Env.t ->
    'Bddapron.Cond.t ->
    'Bddapron.Policy.Mtbdddomain0.t ->
    'Bddapron.Mtbdddomain0.t ->
    'Bddapron.Expr0.Bool.t -> 'Bddapron.Mtbdddomain0.t
  val meet_condition_improve :
    ('a, 'b) Bddapron.Policy.Mtbdddomain0.man ->
    'Bddapron.Env.t ->
    'Bddapron.Cond.t ->
    'Bddapron.Policy.Mtbdddomain0.t option ->
    'Bddapron.Mtbdddomain0.t ->
    'Bddapron.Expr0.Bool.t -> 'Bddapron.Policy.Mtbdddomain0.t
end