Module Descend


module Descend: sig .. end
Recursive descend on sets of diagrams (internal)

val texpr_cofactor : ('a Expr0.t -> 'b -> 'a Expr0.t) ->
'a Expr0.t array -> 'b -> 'a Expr0.t array
val texpr_support : ('a, ('a, [> 'a Env.typ ], [> 'a Env.typdef ], 'b) Env.O.t) Cond.O.t ->
'a Expr0.t array -> Cudd.Man.v Cudd.Bdd.t
val texpr_cofactors : ('a, [> 'a Env.typ ], [> 'a Env.typdef ], 'b) Env.O.t ->
'a Expr0.t array -> int -> 'a Expr0.t array * 'a Expr0.t array
val split_lvar : 'a Bdd.Env.symbol ->
'a list -> 'a Expr0.t list -> 'a list * Apron.Var.t array
val split_texpr : 'a Expr0.t array -> Cudd.Man.v Bdd.Expr0.t list * 'a ApronexprDD.t array
val split_lvarlexpr : 'a Bdd.Env.symbol ->
'a list ->
'a Expr0.t list ->
'a list * Cudd.Man.v Bdd.Expr0.t list * Apron.Var.t array *
'a ApronexprDD.t array
val cofactors : 'a ApronDD.man ->
('b, [> 'b Env.typ ] as 'c, [> 'b Env.typdef ] as 'd, 'e) Env.O.t ->
('b, ('b, 'c, 'd, 'e) Env.O.t) Cond.O.t ->
'a ApronDD.t -> int -> 'a ApronDD.t * 'a ApronDD.t
val descend_mtbdd : 'a ApronDD.man ->
('b, [> 'b Env.typ ] as 'c, [> 'b Env.typdef ] as 'd, 'e) Env.O.t ->
('b, ('b, 'c, 'd, 'e) Env.O.t) Cond.O.t ->
('a ApronDD.t -> 'b Expr0.t array -> 'a ApronDD.t) ->
'a ApronDD.t -> 'b Expr0.t array -> 'a ApronDD.t
val descend : cudd:Cudd.Man.vt ->
maxdepth:int ->
nocare:('a -> bool) ->
cube_of_down:('a -> Cudd.Bdd.vt) ->
cofactor:('a -> Cudd.Bdd.vt -> 'a) ->
select:('a -> int) ->
terminal:(depth:int ->
newcube:Cudd.Bdd.vt -> cube:Cudd.Bdd.vt -> down:'a -> 'b option) ->
ite:(depth:int ->
newcube:Cudd.Bdd.vt ->
cond:int -> dthen:'b option -> delse:'b option -> 'b option) ->
down:'a -> 'b option