trait Bool[A] extends Heyting[A] with GenBool[A]

Boolean algebras are Heyting algebras with the additional constraint that the law of the excluded middle is true (equivalently, double-negation is true).

This means that in addition to the laws Heyting algebras obey, boolean algebras also obey the following:

  • (a ∨ ¬a) = 1
  • ¬¬a = a

Boolean algebras generalize classical logic: one is equivalent to "true" and zero is equivalent to "false". Boolean algebras provide additional logical operators such as xor, nand, nor, and nxor which are commonly used.

Every boolean algebras has a dual algebra, which involves reversing true/false as well as and/or.

Self Type
Bool[A]
Source
Bool.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Bool
  2. GenBool
  3. Heyting
  4. BoundedDistributiveLattice
  5. DistributiveLattice
  6. BoundedLattice
  7. BoundedJoinSemilattice
  8. BoundedMeetSemilattice
  9. Lattice
  10. MeetSemilattice
  11. JoinSemilattice
  12. Serializable
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def and(a: A, b: A): A
    Definition Classes
    GenBool
  2. abstract def complement(a: A): A
    Definition Classes
    Heyting
  3. abstract def getClass(): Class[_ <: AnyRef]
    Definition Classes
    Any
  4. abstract def one: A
    Definition Classes
    BoundedMeetSemilattice
  5. abstract def or(a: A, b: A): A
    Definition Classes
    GenBool
  6. abstract def zero: A
    Definition Classes
    BoundedJoinSemilattice

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  2. final def ##: Int
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
  4. def asBoolRing: BoolRing[A]

    Every Boolean algebra is a BoolRing, with multiplication defined as and and addition defined as xor.

    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
    BoolGenBool
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def dual: Bool[A]

    This is the lattice with meet and join swapped

    This is the lattice with meet and join swapped

    Definition Classes
    BoolBoundedDistributiveLatticeBoundedLatticeLattice
  7. def equals(arg0: Any): Boolean
    Definition Classes
    Any
  8. def hashCode(): Int
    Definition Classes
    Any
  9. def imp(a: A, b: A): A
    Definition Classes
    BoolHeyting
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. def isOne(a: A)(implicit ev: Eq[A]): Boolean
    Definition Classes
    BoundedMeetSemilattice
  12. def isZero(a: A)(implicit ev: Eq[A]): Boolean
    Definition Classes
    BoundedJoinSemilattice
  13. def join(a: A, b: A): A
    Definition Classes
    GenBoolJoinSemilattice
  14. def joinPartialOrder(implicit ev: Eq[A]): PartialOrder[A]
    Definition Classes
    JoinSemilattice
  15. def joinSemilattice: BoundedSemilattice[A]
  16. def meet(a: A, b: A): A
    Definition Classes
    GenBoolMeetSemilattice
  17. def meetPartialOrder(implicit ev: Eq[A]): PartialOrder[A]
    Definition Classes
    MeetSemilattice
  18. def meetSemilattice: BoundedSemilattice[A]
  19. def nand(a: A, b: A): A
    Definition Classes
    Heyting
  20. def nor(a: A, b: A): A
    Definition Classes
    Heyting
  21. def nxor(a: A, b: A): A
    Definition Classes
    Heyting
  22. def toString(): String
    Definition Classes
    Any
  23. 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).

    Definition Classes
    BoolGenBool
  24. def xor(a: A, b: A): A

    Logical exclusive or, set-theoretic symmetric difference.

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

    Definition Classes
    BoolGenBoolHeyting

Inherited from GenBool[A]

Inherited from Heyting[A]

Inherited from BoundedDistributiveLattice[A]

Inherited from DistributiveLattice[A]

Inherited from BoundedLattice[A]

Inherited from BoundedJoinSemilattice[A]

Inherited from BoundedMeetSemilattice[A]

Inherited from Lattice[A]

Inherited from MeetSemilattice[A]

Inherited from JoinSemilattice[A]

Inherited from Serializable

Inherited from Any

Ungrouped