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.
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.
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).