Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
NumHask.Algebra.Lattice
Description
Synopsis
- class Eq a => JoinSemiLattice a where
- (\/) :: a -> a -> a
- joinLeq :: JoinSemiLattice a => a -> a -> Bool
- (<\) :: JoinSemiLattice a => a -> a -> Bool
- class Eq a => MeetSemiLattice a where
- (/\) :: a -> a -> a
- meetLeq :: MeetSemiLattice a => a -> a -> Bool
- (</) :: MeetSemiLattice a => a -> a -> Bool
- class JoinSemiLattice a => BoundedJoinSemiLattice a where
- bottom :: a
- class MeetSemiLattice a => BoundedMeetSemiLattice a where
- top :: a
- type Lattice a = (JoinSemiLattice a, MeetSemiLattice a)
- type BoundedLattice a = (JoinSemiLattice a, MeetSemiLattice a, BoundedJoinSemiLattice a, BoundedMeetSemiLattice a)
Documentation
class Eq a => JoinSemiLattice a where Source #
A algebraic structure with element joins: See Semilattice
Associativity: x \/ (y \/ z) == (x \/ y) \/ z Commutativity: x \/ y == y \/ x Idempotency: x \/ x == x
Instances
JoinSemiLattice Int16 Source # | |
JoinSemiLattice Int32 Source # | |
JoinSemiLattice Int64 Source # | |
JoinSemiLattice Int8 Source # | |
JoinSemiLattice Word16 Source # | |
JoinSemiLattice Word32 Source # | |
JoinSemiLattice Word64 Source # | |
JoinSemiLattice Word8 Source # | |
JoinSemiLattice Integer Source # | |
JoinSemiLattice Natural Source # | |
JoinSemiLattice Bool Source # | |
JoinSemiLattice Double Source # | |
JoinSemiLattice Float Source # | |
JoinSemiLattice Int Source # | |
JoinSemiLattice Word Source # | |
JoinSemiLattice a => JoinSemiLattice (EuclideanPair a) Source # | |
Defined in NumHask.Algebra.Metric Methods (\/) :: EuclideanPair a -> EuclideanPair a -> EuclideanPair a Source # | |
JoinSemiLattice a => JoinSemiLattice (Complex a) Source # | |
JoinSemiLattice a => JoinSemiLattice (Positive a) Source # | |
(Ord a, Integral a, EndoBased a, Subtractive a) => JoinSemiLattice (Ratio a) Source # | |
JoinSemiLattice a => JoinSemiLattice (Wrapped a) Source # | |
joinLeq :: JoinSemiLattice a => a -> a -> Bool Source #
The partial ordering induced by the join-semilattice structure
(<\) :: JoinSemiLattice a => a -> a -> Bool infixr 6 Source #
The partial ordering induced by the join-semilattice structure
class Eq a => MeetSemiLattice a where Source #
A algebraic structure with element meets: See Semilattice
Associativity: x /\ (y /\ z) == (x /\ y) /\ z Commutativity: x /\ y == y /\ x Idempotency: x /\ x == x
Instances
MeetSemiLattice Int16 Source # | |
MeetSemiLattice Int32 Source # | |
MeetSemiLattice Int64 Source # | |
MeetSemiLattice Int8 Source # | |
MeetSemiLattice Word16 Source # | |
MeetSemiLattice Word32 Source # | |
MeetSemiLattice Word64 Source # | |
MeetSemiLattice Word8 Source # | |
MeetSemiLattice Integer Source # | |
MeetSemiLattice Natural Source # | |
MeetSemiLattice Bool Source # | |
MeetSemiLattice Double Source # | |
MeetSemiLattice Float Source # | |
MeetSemiLattice Int Source # | |
MeetSemiLattice Word Source # | |
MeetSemiLattice a => MeetSemiLattice (EuclideanPair a) Source # | |
Defined in NumHask.Algebra.Metric Methods (/\) :: EuclideanPair a -> EuclideanPair a -> EuclideanPair a Source # | |
MeetSemiLattice a => MeetSemiLattice (Complex a) Source # | |
MeetSemiLattice a => MeetSemiLattice (Positive a) Source # | |
(Ord a, Integral a, EndoBased a, Subtractive a) => MeetSemiLattice (Ratio a) Source # | |
MeetSemiLattice a => MeetSemiLattice (Wrapped a) Source # | |
meetLeq :: MeetSemiLattice a => a -> a -> Bool Source #
The partial ordering induced by the meet-semilattice structure
(</) :: MeetSemiLattice a => a -> a -> Bool infixr 6 Source #
The partial ordering induced by the meet-semilattice structure
class JoinSemiLattice a => BoundedJoinSemiLattice a where Source #
Instances
class MeetSemiLattice a => BoundedMeetSemiLattice a where Source #
Instances
type Lattice a = (JoinSemiLattice a, MeetSemiLattice a) Source #
The combination of two semi lattices makes a lattice if the absorption law holds: see Absorption Law and Lattice
Absorption: a \/ (a /\ b) == a /\ (a \/ b) == a
type BoundedLattice a = (JoinSemiLattice a, MeetSemiLattice a, BoundedJoinSemiLattice a, BoundedMeetSemiLattice a) Source #
Lattices with both bounds
x /\ bottom == x x \/ top = x