package mopsa
Module Core.Dnf
Disjunctive normal form.
val singleton : 'a -> 'a tval mk_true : 'a tval mk_false : 'a tval is_true : 'a t -> boolval is_false : 'a t -> boolval is_empty : 'a t -> boolval iter : ('a -> unit) -> 'a t -> unitval reduce :
('a -> 'b) ->
join:('b -> 'b -> 'b) ->
meet:('b -> 'b -> 'b) ->
'a t ->
'bval fold_reduce :
('a -> 'b -> 'a * 'c) ->
join:('c -> 'c -> 'c) ->
meet:('c -> 'c -> 'c) ->
'a ->
'b t ->
'a * 'cval reduce_conjunction : ('a list -> 'b) -> join:('b -> 'b -> 'b) -> 'a t -> 'bval fold_reduce_conjunction :
('a -> 'b list -> 'a * 'c) ->
join:('c -> 'c -> 'c) ->
'a ->
'b t ->
'a * 'cval reduce_disjunction : ('a list -> 'b) -> meet:('b -> 'b -> 'b) -> 'a t -> 'bval fold_reduce_disjunction :
('a -> 'b list -> 'a * 'c) ->
meet:('c -> 'c -> 'c) ->
'a ->
'b t ->
'a * 'cval fold : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'bval choose : 'a t -> 'a optionval to_list : 'a t -> 'a list listval from_list : 'a list list -> 'a tval print :
(Format.formatter -> 'a -> unit) ->
Format.formatter ->
'a t ->
unitval cardinal : 'a t -> int