Module Glue.MinimalSemiLattice

MinimalSemiLattice converts a semi-lattice to a minimal semi-lattice; that is, it implements leq_join in terms of separate leq and join operations.


module P : sig ... end


type property =

The type property must form a partial order, which must satisfy the ascending chain condition: every monotone sequence must eventually stabilize.

val leq_join : property -> property -> property

leq_join p q must compute the join of p and q. If the result is logically equal to q, then q itself must be returned. Thus, we have leq_join p q == q if and only if leq p q holds.