`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 = P.property`

The type `property`

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