package zdd

  1. Overview
  2. Docs

Module Zdd.UpSetSource

Functor that creates a structure of upward closed sets

Parameters

module X : T

Signature

Sourcetype elt = X.t
Sourcetype t
Sourceval hash : t -> int

Hash function

Sourceval compare : t -> t -> int

Total order

Sourceval equal : t -> t -> bool

Equality test

Sourceval pp : Format.formatter -> t -> unit

Pretty-printer

Sourceval empty : t

The empty family

Sourceval full : t

The full family

Sourceval above : elt list -> t

above [x1;... ; xn] is the family of the sets that include {x1,..., xn}.

Sourceval subset : t -> t -> bool

Inclusion test

Sourceval union : t -> t -> t

Union of set families

Sourceval inter : t -> t -> t

Intersection of set families

Sourceval join : t -> t -> t

join t1 t2 is the upward closure of the family { s1 ∪ s2 | s1 ∈ t1, s2 ∈ t2 }. This is the same as inter s1 s2.

Sourceval meet : t -> t -> t

meet t1 t2 is the upward closure of the family { s1 ∩ s2 | s1 ∈ t1, s2 ∈ t2 }.

Sourceval minima : t -> elt list list

The minimal elements of a family

Sourceval subst : (elt -> t option) -> t -> t

Substitution

Sourceval iter_elt : (elt -> unit) -> t -> unit

Iterator on the elements that occur in the minimal elements of the set family. The elements might be encountered more than once, and the order in which they are encountered is unspecified.

Sourceval fold_elt : (elt -> 'a -> 'a) -> t -> 'a -> 'a

Folder on the elements that occur in the minimal elements of the set family. The elements might be encountered more than once, and the order in which they are encountered is unspecified.

Sourceval iter_minima : (elt list -> unit) -> t -> unit

Iterator on the list of elements that represent the minimal sets in the families. The sets may occur in an unspecified order. The elements in the lists occur in increasing order.

Sourceval fold_minima : (elt list -> 'a -> 'a) -> t -> 'a -> 'a

Folder on the list of elements that represent the minimal sets in the families. The sets may occur in an unspecified order. The elements in the lists occur in increasing order.