DualBool

class DualBool[@specialized(Int, Long) A](orig: Bool[A]) extends Bool[A]
trait Bool[A]
trait GenBool[A]
trait Heyting[A]
trait Lattice[A]
class Object
trait Matchable
class Any

Value members

Concrete methods

def and(a: A, b: A): A
def complement(a: A): A
override def dual: Bool[A]
override def imp(a: A, b: A): A
Definition Classes
override def nand(a: A, b: A): A
Definition Classes
override def nor(a: A, b: A): A
Definition Classes
override def nxor(a: A, b: A): A
Definition Classes
def one: A
def or(a: A, b: A): A
override def xor(a: A, b: A): A
Definition Classes
def zero: A

Inherited methods

override def asBoolRing: BoolRing[A]

Every Boolean algebra is a BoolRing, with multiplication defined as and and addition defined as xor. Bool does not extend BoolRing because, e.g. we might want a Bool[Int] and CommutativeRing[Int] to refer to different structures, by default.

Every Boolean algebra is a BoolRing, with multiplication defined as and and addition defined as xor. Bool does not extend BoolRing because, e.g. we might want a Bool[Int] and CommutativeRing[Int] to refer to different structures, by default.

Note that the ring returned by this method is not an extension of the Rig returned from BoundedDistributiveLattice.asCommutativeRig.

Definition Classes
Inherited from:
Bool
def isOne(a: A)(implicit ev: Eq[A]): Boolean
Inherited from:
BoundedMeetSemilattice
def isZero(a: A)(implicit ev: Eq[A]): Boolean
Inherited from:
BoundedJoinSemilattice
override def join(a: A, b: A): A
Definition Classes
Inherited from:
GenBool
def joinPartialOrder(implicit ev: Eq[A]): PartialOrder[A]
Inherited from:
JoinSemilattice
override def meet(a: A, b: A): A
Definition Classes
Inherited from:
GenBool
def meetPartialOrder(implicit ev: Eq[A]): PartialOrder[A]
Inherited from:
MeetSemilattice
def without(a: A, b: A): A
Inherited from:
Bool