GenBool

trait GenBool[@specialized(Int, Long) A] extends DistributiveLattice[A] with BoundedJoinSemilattice[A]

Generalized Boolean algebra, that is, a Boolean algebra without the top element. Generalized Boolean algebras do not (in general) have (absolute) complements, but they have ''relative complements'' (see GenBool.without).

Generalized Boolean algebra, that is, a Boolean algebra without the top element. Generalized Boolean algebras do not (in general) have (absolute) complements, but they have ''relative complements'' (see GenBool.without).

Companion
object
trait Lattice[A]
trait Serializable
class Any
class SetLattice[A]
trait Bool[A]
class DualBool[A]

Value members

Abstract methods

def and(a: A, b: A): A
def or(a: A, b: A): A
def without(a: A, b: A): A

The operation of ''relative complement'', symbolically often denoted a\b (the symbol for set-theoretic difference, which is the meaning of relative complement in the lattice of sets).

The operation of ''relative complement'', symbolically often denoted a\b (the symbol for set-theoretic difference, which is the meaning of relative complement in the lattice of sets).

Concrete methods

Every generalized Boolean algebra is also a BoolRng, with multiplication defined as and and addition defined as xor.

Every generalized Boolean algebra is also a BoolRng, with multiplication defined as and and addition defined as xor.

override def join(a: A, b: A): A
Definition Classes
override def meet(a: A, b: A): A
Definition Classes
def xor(a: A, b: A): A

Logical exclusive or, set-theoretic symmetric difference. Defined as a\b ∨ b\a.

Logical exclusive or, set-theoretic symmetric difference. Defined as a\b ∨ b\a.

Inherited methods

def dual: Lattice[A]

This is the lattice with meet and join swapped

This is the lattice with meet and join swapped

Inherited from
Lattice
def isZero(a: A)(ev: Eq[A]): Boolean
def joinPartialOrder(ev: Eq[A]): PartialOrder[A]
Inherited from
JoinSemilattice
override def joinSemilattice: BoundedSemilattice[A]
def meetPartialOrder(ev: Eq[A]): PartialOrder[A]
Inherited from
MeetSemilattice
def meetSemilattice: Semilattice[A]
Inherited from
MeetSemilattice
def zero: A