trait Logic[A] extends BoundedDistributiveLattice[A]

Logic models a logic generally. It is a bounded distributive lattice with an extra negation operator.

The negation operator obeys the weak De Morgan laws:

  • ¬(x∨y) = ¬x∧¬y
  • ¬(x∧y) = ¬¬(¬x∨¬y)

For intuitionistic logic see Heyting For fuzzy logic see DeMorgan

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

Abstract Value Members

  1. abstract def and(a: A, b: A): A
  2. abstract def getClass(): Class[_]
    Definition Classes
    Any
  3. abstract def join(lhs: A, rhs: A): A
    Definition Classes
    JoinSemilattice
  4. abstract def meet(lhs: A, rhs: A): A
    Definition Classes
    MeetSemilattice
  5. abstract def not(a: A): A
  6. abstract def one: A
    Definition Classes
    BoundedMeetSemilattice
  7. abstract def or(a: A, b: A): A
  8. 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 asCommutativeRig: CommutativeRig[A]

    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
    Definition Classes
    Any
  6. def dual: BoundedDistributiveLattice[A]

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