semilattices-0.0.0.3: Semilattices

Safe HaskellNone
LanguageHaskell2010

Data.Semilattice.Lower

Description

Lower bounds, related to Bounded, Join, Meet, and Ord.

Synopsis

Documentation

class Lower s where Source #

The greatest lower bound of s.

Laws:

If s is Bounded, we require lowerBound and minBound to agree:

lowerBound = minBound

If s is a Join semilattice, lowerBound must be the identity of \/:

lowerBound \/ a = a

If s is a Meet semilattice, lowerBound must be the absorbing element of /\:

lowerBound /\ a = lowerBound

If s is Ordered, lowerBound must be at least as small as every terminating value:

compare lowerBound a /= GT
Instances
Lower Bool Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Char Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Int Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Int8 Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Int16 Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Int32 Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Int64 Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Ordering Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Word8 Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Word16 Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Word32 Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Word64 Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower () Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: () Source #

Lower CDev Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CIno Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CMode Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower COff Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CPid Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CSsize Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CGid Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CNlink Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CUid Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CTcflag Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CRLim Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CBlkSize Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CBlkCnt Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CClockId Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CFsBlkCnt Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CFsFilCnt Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CId Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CKey Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Fd Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Fd Source #

Lower All Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Any Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower Associativity Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower SourceUnpackedness Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower SourceStrictness Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower DecidedStrictness Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CChar Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CSChar Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CUChar Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CShort Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CUShort Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CInt Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CUInt Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CLong Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CULong Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CLLong Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CULLong Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CBool Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CPtrdiff Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CSize Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CWchar Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CSigAtomic Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CIntPtr Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CUIntPtr Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CIntMax Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower CUIntMax Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower WordPtr Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower IntPtr Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower GeneralCategory Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower IntSet Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower [a] Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: [a] Source #

Lower (Maybe a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Maybe a Source #

Lower a => Lower (Min a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Min a Source #

Lower a => Lower (Max a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Max a Source #

Lower a => Lower (First a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: First a Source #

Lower a => Lower (Last a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Last a Source #

Lower a => Lower (WrappedMonoid a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower a => Lower (Identity a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower (First a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: First a Source #

Lower (Last a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Last a Source #

Lower a => Lower (Dual a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Dual a Source #

Lower (Endo a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Endo a Source #

Lower a => Lower (Sum a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Sum a Source #

Lower a => Lower (Product a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower (IntMap a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Lower (Seq a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Seq a Source #

Lower (Set a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Set a Source #

Lower (HashSet a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: HashSet a Source #

Lower a => Lower (Joining a) Source # 
Instance details

Defined in Data.Semilattice.Join

Upper a => Lower (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Lower a => Lower (Order a) Source # 
Instance details

Defined in Data.Semilattice.Order

Methods

lowerBound :: Order a Source #

Bounded a => Lower (Bound a) Source # 
Instance details

Defined in Data.Semilattice.Bound

Methods

lowerBound :: Bound a Source #

Lower b => Lower (a -> b) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: a -> b Source #

(Lower a, Lower b) => Lower (a, b) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b) Source #

Lower (Proxy a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Proxy a Source #

Lower (Map k a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Map k a Source #

Lower (HashMap k a) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: HashMap k a Source #

(Lower a, Lower b, Lower c) => Lower (a, b, c) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c) Source #

Lower a => Lower (Const a b) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Const a b Source #

Coercible a b => Lower (Coercion a b) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: Coercion a b Source #

a ~ b => Lower (a :~: b) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: a :~: b Source #

(Lower a, Lower b, Lower c, Lower d) => Lower (a, b, c, d) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d) Source #

a ~~ b => Lower (a :~~: b) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: a :~~: b Source #

(Lower a, Lower b, Lower c, Lower d, Lower e) => Lower (a, b, c, d, e) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f) => Lower (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f, Lower g) => Lower (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f, g) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f, Lower g, Lower h) => Lower (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f, g, h) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f, Lower g, Lower h, Lower i) => Lower (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f, Lower g, Lower h, Lower i, Lower j) => Lower (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f, Lower g, Lower h, Lower i, Lower j, Lower k) => Lower (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f, Lower g, Lower h, Lower i, Lower j, Lower k, Lower l) => Lower (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k, l) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f, Lower g, Lower h, Lower i, Lower j, Lower k, Lower l, Lower m) => Lower (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f, Lower g, Lower h, Lower i, Lower j, Lower k, Lower l, Lower m, Lower n) => Lower (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

(Lower a, Lower b, Lower c, Lower d, Lower e, Lower f, Lower g, Lower h, Lower i, Lower j, Lower k, Lower l, Lower m, Lower n, Lower o) => Lower (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Defined in Data.Semilattice.Lower

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

Bounded:

lowerBound == (minBound :: Bool)

Identity of \/:

lowerBound \/ a == (a :: Bool)

Absorbing element of /\:

lowerBound /\ a == (lowerBound :: Bool)

Ord:

compare lowerBound (a :: Bool) /= GT
>>> import Data.Semilattice.Join
>>> import Data.Semilattice.Meet
>>> import Test.QuickCheck (Arbitrary(..))
>>> import Test.QuickCheck.Function