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
.
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.
This is the lattice with meet and join swapped
This is the lattice with meet and join swapped
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).
Logical exclusive or, set-theoretic symmetric difference.
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:
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
, andnxor
which are commonly used.Every boolean algebras has a dual algebra, which involves reversing true/false as well as and/or.