BooleanStructure

@SerialVersionUID(0L)
class BooleanStructure extends BooleanIsBool with BooleanIsRig with BooleanOrder with Serializable
trait Order[Boolean]
trait PartialOrder[Boolean]
trait Eq[Boolean]
trait CommutativeRig[Boolean]
trait MultiplicativeCommutativeMonoid[Boolean]
trait CommutativeSemiring[Boolean]
trait MultiplicativeCommutativeSemigroup[Boolean]
trait Rig[Boolean]
trait MultiplicativeMonoid[Boolean]
trait Semiring[Boolean]
trait MultiplicativeSemigroup[Boolean]
trait AdditiveCommutativeMonoid[Boolean]
trait AdditiveCommutativeSemigroup[Boolean]
trait AdditiveMonoid[Boolean]
trait AdditiveSemigroup[Boolean]
trait Bool[Boolean]
trait GenBool[Boolean]
trait Heyting[Boolean]
trait BoundedDistributiveLattice[Boolean]
trait DistributiveLattice[Boolean]
trait BoundedLattice[Boolean]
trait BoundedJoinSemilattice[Boolean]
trait BoundedMeetSemilattice[Boolean]
trait Lattice[Boolean]
trait MeetSemilattice[Boolean]
trait JoinSemilattice[Boolean]
trait Serializable
class Object
trait Matchable
class Any

Value members

Concrete methods

override
def isOne(a: Boolean)(implicit ev: Eq[Boolean]): Boolean
Definition Classes
MultiplicativeMonoid -> BoundedMeetSemilattice
override
def isZero(a: Boolean)(implicit ev: Eq[Boolean]): Boolean
Definition Classes
AdditiveMonoid -> BoundedJoinSemilattice
override
def one: Boolean
Definition Classes
BooleanIsRig -> MultiplicativeMonoid -> BooleanIsBool -> BoundedMeetSemilattice
override
def zero: Boolean
Definition Classes
BooleanIsRig -> AdditiveMonoid -> BooleanIsBool -> BoundedJoinSemilattice

Inherited methods

override
def additive: CommutativeMonoid[Boolean]
Definition Classes
AdditiveCommutativeMonoid -> AdditiveCommutativeSemigroup -> AdditiveMonoid -> AdditiveSemigroup
Inherited from
AdditiveCommutativeMonoid
def and(a: Boolean, b: Boolean): Boolean
Inherited from
BooleanIsBool
override
def asBoolRing: BoolRing[Boolean]

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
Bool -> GenBool
Inherited from
Bool
def asCommutativeRig: CommutativeRig[Boolean]

Return a CommutativeRig using join and meet. Note this must obey the commutative rig laws since meet(a, one) = a, and meet and join are associative, commutative and distributive.

Return a CommutativeRig using join and meet. Note this must obey the commutative rig laws since meet(a, one) = a, and meet and join are associative, commutative and distributive.

Inherited from
BoundedDistributiveLattice
def compare(x: Boolean, y: Boolean): Int
Inherited from
BooleanOrder
def comparison(x: Boolean, y: Boolean): Comparison

Like compare, but returns a cats.kernel.Comparison instead of an Int. Has the benefit of being able to pattern match on, but not as performant.

Like compare, but returns a cats.kernel.Comparison instead of an Int. Has the benefit of being able to pattern match on, but not as performant.

Inherited from
Order
def complement(a: Boolean): Boolean
Inherited from
BooleanIsBool
override
def dual: Bool[Boolean]
Definition Classes
Bool -> BoundedDistributiveLattice -> BoundedLattice -> Lattice
Inherited from
Bool
override
def eqv(x: Boolean, y: Boolean): Boolean
Definition Classes
BooleanOrder -> Order -> PartialOrder -> Eq
Inherited from
BooleanOrder
override
def gt(x: Boolean, y: Boolean): Boolean
Definition Classes
BooleanOrder -> Order -> PartialOrder
Inherited from
BooleanOrder
override
def gteqv(x: Boolean, y: Boolean): Boolean
Definition Classes
BooleanOrder -> Order -> PartialOrder
Inherited from
BooleanOrder
def imp(a: Boolean, b: Boolean): Boolean
Inherited from
Bool
override
def join(a: Boolean, b: Boolean): Boolean
Definition Classes
GenBool -> JoinSemilattice
Inherited from
GenBool
def joinPartialOrder(implicit ev: Eq[Boolean]): PartialOrder[Boolean]
Inherited from
JoinSemilattice
override
def joinSemilattice: BoundedSemilattice[Boolean]
Definition Classes
BoundedJoinSemilattice -> JoinSemilattice
Inherited from
BoundedJoinSemilattice
override
def lt(x: Boolean, y: Boolean): Boolean
Definition Classes
BooleanOrder -> Order -> PartialOrder
Inherited from
BooleanOrder
override
def lteqv(x: Boolean, y: Boolean): Boolean
Definition Classes
BooleanOrder -> Order -> PartialOrder
Inherited from
BooleanOrder
override
def max(x: Boolean, y: Boolean): Boolean
Definition Classes
BooleanOrder -> Order
Inherited from
BooleanOrder
override
def meet(a: Boolean, b: Boolean): Boolean
Definition Classes
GenBool -> MeetSemilattice
Inherited from
GenBool
def meetPartialOrder(implicit ev: Eq[Boolean]): PartialOrder[Boolean]
Inherited from
MeetSemilattice
override
def meetSemilattice: BoundedSemilattice[Boolean]
Definition Classes
BoundedMeetSemilattice -> MeetSemilattice
Inherited from
BoundedMeetSemilattice
override
def min(x: Boolean, y: Boolean): Boolean
Definition Classes
BooleanOrder -> Order
Inherited from
BooleanOrder
override
def multiplicative: CommutativeMonoid[Boolean]
Definition Classes
MultiplicativeCommutativeMonoid -> MultiplicativeCommutativeSemigroup -> MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
MultiplicativeCommutativeMonoid
def nand(a: Boolean, b: Boolean): Boolean
Inherited from
Heyting
override
def neqv(x: Boolean, y: Boolean): Boolean
Definition Classes
BooleanOrder -> Order -> Eq
Inherited from
BooleanOrder
def nor(a: Boolean, b: Boolean): Boolean
Inherited from
Heyting
def nxor(a: Boolean, b: Boolean): Boolean
Inherited from
Heyting
def or(a: Boolean, b: Boolean): Boolean
Inherited from
BooleanIsBool
def partialCompare(x: Boolean, y: Boolean): Double
Inherited from
Order
def partialComparison(x: Boolean, y: Boolean): Option[Comparison]

Like partialCompare, but returns a cats.kernel.Comparison instead of an Double. Has the benefit of being able to pattern match on, but not as performant.

Like partialCompare, but returns a cats.kernel.Comparison instead of an Double. Has the benefit of being able to pattern match on, but not as performant.

Inherited from
PartialOrder
def plus(a: Boolean, b: Boolean): Boolean
Inherited from
BooleanIsRig
def pmax(x: Boolean, y: Boolean): Option[Boolean]

Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.

Returns Some(x) if x >= y, Some(y) if x < y, otherwise None.

Inherited from
PartialOrder
def pmin(x: Boolean, y: Boolean): Option[Boolean]

Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.

Returns Some(x) if x <= y, Some(y) if x > y, otherwise None.

Inherited from
PartialOrder
override
def pow(a: Boolean, b: Int): Boolean
Definition Classes
BooleanIsRig -> MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
BooleanIsRig
def product(as: IterableOnce[Boolean]): Boolean

Given a sequence of as, compute the product.

Given a sequence of as, compute the product.

Inherited from
MultiplicativeMonoid
def sum(as: IterableOnce[Boolean]): Boolean

Given a sequence of as, compute the sum.

Given a sequence of as, compute the sum.

Inherited from
AdditiveMonoid
override
def sumN(a: Boolean, n: Int): Boolean
Definition Classes
AdditiveMonoid -> AdditiveSemigroup
Inherited from
AdditiveMonoid
override
def times(a: Boolean, b: Boolean): Boolean
Definition Classes
BooleanIsRig -> MultiplicativeSemigroup
Inherited from
BooleanIsRig
def toOrdering: Ordering[Boolean]

Convert a Order[A] to a scala.math.Ordering[A] instance.

Convert a Order[A] to a scala.math.Ordering[A] instance.

Inherited from
Order
def tryCompare(x: Boolean, y: Boolean): Option[Int]

Result of comparing x with y. Returns None if operands are not comparable. If operands are comparable, returns Some[Int] where the Int sign is:

Result of comparing x with y. Returns None if operands are not comparable. If operands are comparable, returns Some[Int] where the Int sign is:

  • negative iff x < y
  • zero iff x = y
  • positive iff x > y
Inherited from
PartialOrder
override
def tryProduct(as: IterableOnce[Boolean]): Option[Boolean]
Definition Classes
MultiplicativeMonoid -> MultiplicativeSemigroup
Inherited from
MultiplicativeMonoid
override
def trySum(as: IterableOnce[Boolean]): Option[Boolean]
Definition Classes
AdditiveMonoid -> AdditiveSemigroup
Inherited from
AdditiveMonoid
def without(a: Boolean, b: Boolean): Boolean
Inherited from
Bool
override
def xor(a: Boolean, b: Boolean): Boolean
Definition Classes
BooleanIsBool -> Bool -> GenBool -> Heyting
Inherited from
BooleanIsBool