Trait/Object

algebra.lattice

DeMorgan

Related Docs: object DeMorgan | package lattice

Permalink

trait DeMorgan[A] extends Logic[A]

De Morgan algebras are bounded lattices that are also equipped with a De Morgan involution.

De Morgan involution obeys the following laws:

However, in De Morgan algebras this involution does not necessarily provide the law of the excluded middle. This means that there is no guarantee that (a ∨ ¬a) = 1. De Morgan algebra do not not necessarily provide the law of non contradiction either. This means that there is no guarantee that (a ∧ ¬a) = 0.

De Morgan algebras are useful to model fuzzy logic. For a model of classical logic, see the boolean algebra type class implemented as Bool.

Self Type
DeMorgan[A]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DeMorgan
  2. Logic
  3. BoundedDistributiveLattice
  4. DistributiveLattice
  5. BoundedLattice
  6. BoundedJoinSemilattice
  7. BoundedMeetSemilattice
  8. Lattice
  9. MeetSemilattice
  10. JoinSemilattice
  11. Serializable
  12. Serializable
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def and(a: A, b: A): A

    Permalink
    Definition Classes
    Logic
  2. abstract def getClass(): Class[_]

    Permalink
    Definition Classes
    Any
  3. abstract def not(a: A): A

    Permalink
    Definition Classes
    Logic
  4. abstract def one: A

    Permalink
    Definition Classes
    BoundedMeetSemilattice
  5. abstract def or(a: A, b: A): A

    Permalink
    Definition Classes
    Logic
  6. abstract def zero: A

    Permalink
    Definition Classes
    BoundedJoinSemilattice

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  4. def asCommutativeRig: CommutativeRig[A]

    Permalink

    Return a CommutativeRig using join and meet.

    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.

    Definition Classes
    BoundedDistributiveLattice
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def dual: BoundedDistributiveLattice[A]

    Permalink

    This is the lattice with meet and join swapped

    This is the lattice with meet and join swapped

    Definition Classes
    BoundedDistributiveLatticeBoundedLatticeLattice
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  8. def hashCode(): Int

    Permalink
    Definition Classes
    Any
  9. def imp(a: A, b: A): A

    Permalink
  10. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  11. def isOne(a: A)(implicit ev: Eq[A]): Boolean

    Permalink
    Definition Classes
    BoundedMeetSemilattice
  12. def isZero(a: A)(implicit ev: Eq[A]): Boolean

    Permalink
    Definition Classes
    BoundedJoinSemilattice
  13. def join(a: A, b: A): A

    Permalink
    Definition Classes
    DeMorganJoinSemilattice
  14. def joinPartialOrder(implicit ev: Eq[A]): PartialOrder[A]

    Permalink
    Definition Classes
    JoinSemilattice
  15. def joinSemilattice: BoundedSemilattice[A]

    Permalink
  16. def meet(a: A, b: A): A

    Permalink
    Definition Classes
    DeMorganMeetSemilattice
  17. def meetPartialOrder(implicit ev: Eq[A]): PartialOrder[A]

    Permalink
    Definition Classes
    MeetSemilattice
  18. def meetSemilattice: BoundedSemilattice[A]

    Permalink
  19. def nand(a: A, b: A): A

    Permalink
    Definition Classes
    Logic
  20. def nor(a: A, b: A): A

    Permalink
    Definition Classes
    Logic
  21. def nxor(a: A, b: A): A

    Permalink
    Definition Classes
    Logic
  22. def toString(): String

    Permalink
    Definition Classes
    Any
  23. def xor(a: A, b: A): A

    Permalink
    Definition Classes
    Logic

Inherited from Logic[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 Serializable

Inherited from Any

Ungrouped