module Control.Object.Lattice (Lattice (..)) where

import Control.Object.Semilattice (Infimum, Supremum)

{- |
> When providing a new instance, you should ensure it satisfies the one law:
> * Absorption: a \/ (a /\ b) ≡ a /\ (a \/ b) ≡ a
-}

class (Infimum a, Supremum a) => Lattice a where