sig
  val restrict : bool Pervasives.ref
  val mapleaf1 : ('-> 'b) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val retractivemapleaf1 :
    default:'Cudd.Vdd.t ->
    (Cudd.Bdd.vt -> '-> Cudd.Bdd.vt * 'a) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val expansivemapleaf1 :
    default:'Cudd.Vdd.t ->
    merge:('Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t) ->
    (Cudd.Bdd.vt -> '-> Cudd.Bdd.vt * 'a) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val combineleaf1 :
    default:'->
    combine:('-> '-> 'a) ->
    (Cudd.Bdd.vt -> '-> 'b) -> 'Cudd.Vdd.t -> 'a
  val mapleaf2 :
    ('-> '-> 'c) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val retractivemapleaf2 :
    default:'Cudd.Vdd.t ->
    (Cudd.Bdd.vt -> '-> '-> Cudd.Bdd.vt * 'a) ->
    'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val expansivemapleaf2 :
    default:'Cudd.Vdd.t ->
    merge:('Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t) ->
    (Cudd.Bdd.vt -> '-> '-> Cudd.Bdd.vt * 'a) ->
    'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val combineleaf2 :
    default:'->
    combine:('-> '-> 'a) ->
    (Cudd.Bdd.vt -> '-> '-> 'b) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'a
  val combineleaf_array :
    default:'->
    combine:('-> '-> 'a) ->
    tabsorbant:('-> bool) option array ->
    (Cudd.Bdd.vt -> 'c array -> 'b) -> 'Cudd.Vdd.t array -> 'a
  val combineleaf1_array :
    default:'->
    combine:('-> '-> 'a) ->
    ?absorbant:('-> bool) ->
    tabsorbant:('-> bool) option array ->
    (Cudd.Bdd.vt -> '-> 'd array -> 'b) ->
    'Cudd.Vdd.t -> 'Cudd.Vdd.t array -> 'a
  val combineleaf2_array :
    default:'->
    combine:('-> '-> 'a) ->
    ?absorbant1:('-> bool) ->
    ?absorbant2:('-> bool) ->
    tabsorbant:('-> bool) option array ->
    (Cudd.Bdd.vt -> '-> '-> 'e array -> 'b) ->
    'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t array -> 'a
  val combineretractive : Cudd.Bdd.vt * '-> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val combineexpansive :
    default:'Cudd.Vdd.t ->
    merge:('Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t) ->
    Cudd.Bdd.vt * '-> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
end