Tuples.CompComponent for a tuple of a particular fixed arity.
An atom for a tuple of arity n si simply an (orederd) list of n nodes.
The minimal signature of a component.
module Atom : sig ... endmodule Dnf : sig ... endAn explicit DNF of atoms.
Operations on components that are indexed by a type, such as tuples (indexed by integers) or tagged types (indexed by a symbolic tag).
val any : int -> tThe top element for the given index.
val empty : int -> tThe bottom element for the given index.
val len : t -> intlen t returns the common arity of all tuple types in t.
Tuples commute with intersection, so a union of intersection of tuples can be compactly represented as a union of products.
module Dnf' : sig ... endExplicit DNF over condensed atoms.