module Expr0:sig
..end
type'a
t =[ `Benum of 'a Bdd.Enum.t | `Bint of 'a Bdd.Int.t | `Bool of 'a Cudd.Bdd.t ]
type'a
expr ='a t
typedt =
Cudd.Man.d t
typevt =
Cudd.Man.v t
module Bool:sig
..end
module Bint:sig
..end
module Benum:sig
..end
Failure
exception in case
of a typing error.val typ_of_expr : ('a, 'b) Bdd.Env.t -> 'b t -> 'a Bdd.Env.typ
val var : ('a, 'b) Bdd.Env.t -> 'a -> 'b t
val ite : 'a Bool.t -> 'a t -> 'a t -> 'a t
val eq : ('a, 'b) Bdd.Env.t -> 'b t -> 'b t -> 'b Bool.t
val substitute_by_var : ?memo:Cudd.Memo.t ->
('a, 'b) Bdd.Env.t -> 'b t -> ('a * 'a) list -> 'b t
val substitute_by_var_list : ?memo:Cudd.Memo.t ->
('a, 'b) Bdd.Env.t ->
'b t list -> ('a * 'a) list -> 'b t list
The new variables should already have been declared
val substitute : ?memo:Cudd.Memo.t ->
('a, 'b) Bdd.Env.t ->
'b t -> ('a * 'b t) list -> 'b t
val substitute_list : ?memo:Cudd.Memo.t ->
('a, 'b) Bdd.Env.t ->
'b t list -> ('a * 'b t) list -> 'b t list
val cofactor : 'a t -> 'a Cudd.Bdd.t -> 'a t
val restrict : 'a t -> 'a Cudd.Bdd.t -> 'a t
val tdrestrict : 'a t -> 'a Cudd.Bdd.t -> 'a t
cofactor
.val support : ('a, 'b) Bdd.Env.t -> 'b t -> 'a PSette.t
val support_cond : 'a Cudd.Man.t -> 'a t -> 'a Cudd.Bdd.t
val cube_of_bdd : ('a, 'b) Bdd.Env.t -> 'b Cudd.Bdd.t -> 'b Cudd.Bdd.t
Cudd.Bdd.cube_of_bdd
, but keep only the
the values of variables having a determinated value.
Example: the classical Cudd.Bdd.cube_of_bdd
could return
b and (x=1 or x=3)
, whereas cube_of_bdd
will return only b
in
such a case.
val print : ?print_external_idcondb:(Format.formatter -> int * bool -> unit) ->
('a, 'b) Bdd.Env.t -> Format.formatter -> 'b t -> unit
val print_minterm : ?print_external_idcondb:(Format.formatter -> int * bool -> unit) ->
('a, 'b) Bdd.Env.t -> Format.formatter -> Cudd.Man.tbool array -> unit
val print_bdd : ?print_external_idcondb:(Format.formatter -> int * bool -> unit) ->
('a, 'b) Bdd.Env.t -> Format.formatter -> 'b Cudd.Bdd.t -> unit
val print_idcondb : ?print_external_idcondb:(Format.formatter -> int * bool -> unit) ->
('a, 'b) Bdd.Env.t -> Format.formatter -> int * bool -> unit
val print_idcond : ?print_external_idcondb:(Format.formatter -> int * bool -> unit) ->
('a, 'b) Bdd.Env.t -> Format.formatter -> int -> unit
module O:sig
..end