Preface_specs.Bounded_join_semilatticeA Join_semilattice capture the notion of a set with least upper bound with a bottom . A bounded join semilattice is an idempotent commutative semigroup.
To have a predictable behaviour, the instance of Bounded_join_semilattice must obey some laws.
join a (join b c) = join (join a b) cjoin a b = join b ajoin a a = ajoin a bottom = amodule type WITH_BOTTOM = sig ... endmodule type WITH_JOIN_AND_BOTTOM = sig ... endmodule type CORE = WITH_JOIN_AND_BOTTOMBasis operations
module type INFIX = sig ... endInfix operators.
module type API = sig ... endThe complete interface of a Bounded_join_semillatice.