module O:sig..end
val print : ?print_external_idcondb:(Format.formatter -> int * bool -> unit) ->
('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
Format.formatter -> 'd Bdd.Domain0.t -> unitval bottom : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.tval top : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.tval is_bottom : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> boolval is_top : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> boolval is_leq : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> 'd Bdd.Domain0.t -> boolval is_eq : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> 'd Bdd.Domain0.t -> boolval is_variable_unconstrained : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> 'a -> boolval meet : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> 'd Bdd.Domain0.t -> 'd Bdd.Domain0.tval join : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> 'd Bdd.Domain0.t -> 'd Bdd.Domain0.tval meet_condition : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> 'd Bdd.Expr0.Bool.t -> 'd Bdd.Domain0.tval assign_lexpr : ?relational:bool ->
?nodependency:bool ->
('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> 'a list -> 'd Bdd.Expr0.expr list -> 'd Bdd.Domain0.t
If nodependency=true, which means that no expression depends on the
assigned variables, it uses an optimized algorithm.
If rel=true, it is assumed that env#bddincr=2 (checked), starting from
a pair index. It is also advised to have paired variables in groups.
rel=true is most probably much better for assignements of a few
variables.
val substitute_lexpr : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> 'a list -> 'd Bdd.Expr0.expr list -> 'd Bdd.Domain0.tval forget_list : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'd Bdd.Domain0.t -> 'a list -> 'd Bdd.Domain0.tmodule Asssub:sig..end
val relation_supp_compose_of_lvarlexpr : ('a, [> 'a Bdd.Env.typ ], [> 'a Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t ->
'a list ->
'd Bdd.Expr0.expr list -> 'd Cudd.Bdd.t * 'd Cudd.Bdd.t * 'd Cudd.Bdd.t arrayval apply_change : 'a Bdd.Domain0.t -> 'a Bdd.Env.change -> 'a Bdd.Domain0.t