algebra.lattice.DeMorgan
See theDeMorgan companion object
De Morgan algebras are bounded lattices that are also equipped with a De Morgan involution.
De Morgan involution obeys the following laws:
- ¬¬a = a
- ¬(x∧y) = ¬x∨¬y
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.
Attributes
- Companion:
- object
- Source:
- DeMorgan.scala
- Graph
- Supertypes
- trait Logic[A]trait BoundedDistributiveLattice[A]trait DistributiveLattice[A]trait BoundedLattice[A]trait BoundedJoinSemilattice[A]trait BoundedMeetSemilattice[A]trait Lattice[A]trait MeetSemilattice[A]trait JoinSemilattice[A]trait Serializableclass Any
- Self type
- DeMorgan[A]