module Domain1:sig..end
type('a, 'b)t =('a, 'b) Bdd.Expr1.Bool.t
type'adt =('a, Cudd.Man.d) t
type'avt =('a, Cudd.Man.v) t
val of_domain0 : ('a, 'b) Bdd.Env.t -> 'b Bdd.Domain0.t -> ('a, 'b) tval get_env : ('a, 'b) t -> ('a, 'b) Bdd.Env.tval to_domain0 : ('a, 'b) t -> 'b Bdd.Domain0.tval of_expr1 : ('a, 'b) Bdd.Expr1.Bool.t -> ('a, 'b) tval to_expr1 : ('a, 'b) t -> ('a, 'b) Bdd.Expr1.Bool.tval size : ('a, 'b) t -> intval print : Format.formatter -> ('a, 'b) t -> unitval bottom : ('a, 'b) Bdd.Env.t -> ('a, 'b) tval top : ('a, 'b) Bdd.Env.t -> ('a, 'b) tval is_bottom : ('a, 'b) t -> boolval is_top : ('a, 'b) t -> boolval is_leq : ('a, 'b) t -> ('a, 'b) t -> boolval is_eq : ('a, 'b) t -> ('a, 'b) t -> boolval is_variable_unconstrained : ('a, 'b) t -> 'a -> boolval meet : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) tval join : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) tval meet_condition : ('a, 'b) t -> ('a, 'b) Bdd.Expr1.Bool.t -> ('a, 'b) tval assign_lexpr : ?relational:bool ->
?nodependency:bool ->
('a, 'b) t ->
'a list -> ('a, 'b) Bdd.Expr1.t list -> ('a, 'b) tval assign_listexpr : ?relational:bool ->
?nodependency:bool ->
('a, 'b) t ->
'a list -> ('a, 'b) Bdd.Expr1.List.t -> ('a, 'b) 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, 'b) t ->
'a list -> ('a, 'b) Bdd.Expr1.t list -> ('a, 'b) tval substitute_listexpr : ('a, 'b) t ->
'a list -> ('a, 'b) Bdd.Expr1.List.t -> ('a, 'b) tval forget_list : ('a, 'b) t -> 'a list -> ('a, 'b) tval change_environment : ('a, 'b) t -> ('a, 'b) Bdd.Env.t -> ('a, 'b) tval rename : ('a, 'b) t -> ('a * 'a) list -> ('a, 'b) tmodule O:sig..end