trait Lattice[@specialized(Int, Long, Float, Double) A] extends JoinSemilattice[A] with MeetSemilattice[A]
A lattice is a set A
together with two operations (meet and
join). Both operations individually constitute semilattices (join-
and meet-semilattices respectively): each operation is commutative,
associative, and idempotent.
A lattice is a set A
together with two operations (meet and
join). Both operations individually constitute semilattices (join-
and meet-semilattices respectively): each operation is commutative,
associative, and idempotent.
Join can be thought of as finding a least upper bound (supremum), and meet can be thought of as finding a greatest lower bound (infimum).
The join and meet operations are also linked by absorption laws:
meet(a, join(a, b)) = join(a, meet(a, b)) = a
- Companion
- object
trait BoundedLattice[A]
trait BoundedDistributiveLattice[A]
trait Heyting[A]
trait Bool[A]
class BooleanAlgebra
class BoolFromBoolRing[A]
class DualBool[A]
trait Logic[A]
trait DeMorgan[A]
class MinMaxBoundedDistributiveLattice[A]
trait DistributiveLattice[A]
trait GenBool[A]
class BitSetAlgebra
class SetLattice[A]
class GenBoolFromBoolRng[A]
class MinMaxLattice[A]