Boolean rings #
A Boolean ring is a ring where multiplication is idempotent. They are equivalent to Boolean algebras.
Main declarations #
BooleanRing: a typeclass for rings where multiplication is idempotent.BooleanRing.toBooleanAlgebra: Turn a Boolean ring into a Boolean algebra.BooleanAlgebra.toBooleanRing: Turn a Boolean algebra into a Boolean ring.AsBoolAlg: Type-synonym for the Boolean algebra associated to a Boolean ring.AsBoolRing: Type-synonym for the Boolean ring associated to a Boolean algebra.
Implementation notes #
We provide two ways of turning a Boolean algebra/ring into a Boolean ring/algebra:
- Instances on the same type accessible in locales
BooleanAlgebraOfBooleanRingandBooleanRingOfBooleanAlgebra. - Type-synonyms
AsBoolAlgandAsBoolRing.
At this point in time, it is not clear the first way is useful, but we keep it for educational
purposes and because it is easier than dealing with
ofBoolAlg/toBoolAlg/ofBoolRing/toBoolRing explicitly.
Tags #
boolean ring, boolean algebra
Equations
Turning a Boolean ring into a Boolean algebra #
The join operation in a Boolean ring is x + y + x * y.
Equations
Instances For
The meet operation in a Boolean ring is x * y.
Equations
Instances For
The Boolean algebra structure on a Boolean ring.
The data is defined so that:
a ⊔ bunfolds toa + b + a * ba ⊓ bunfolds toa * ba ≤ bunfolds toa + b + a * b = b⊥unfolds to0⊤unfolds to1aᶜunfolds to1 + aa \ bunfolds toa * (1 + b)
Equations
Instances For
Equations
Turn a ring homomorphism from Boolean rings α to β into a bounded lattice homomorphism
from α to β considered as Boolean algebras.
Equations
Instances For
Turning a Boolean algebra into a Boolean ring #
Type synonym to view a Boolean ring as a Boolean algebra.
Equations
Instances For
Equations
Every generalized Boolean algebra has the structure of a non unital commutative ring with the following data:
a + bunfolds toa ∆ b(symmetric difference)a * bunfolds toa ⊓ b-aunfolds toa0unfolds to⊥
Equations
Instances For
Equations
Every Boolean algebra has the structure of a Boolean ring with the following data:
a + bunfolds toa ∆ b(symmetric difference)a * bunfolds toa ⊓ b-aunfolds toa0unfolds to⊥1unfolds to⊤
Equations
Instances For
Equations
Turn a bounded lattice homomorphism from Boolean algebras α to β into a ring homomorphism
from α to β considered as Boolean rings.
Equations
Instances For
Equivalence between Boolean rings and Boolean algebras #
Order isomorphism between α considered as a Boolean ring considered as a Boolean algebra and
α.
Equations
Instances For
Ring isomorphism between α considered as a Boolean algebra considered as a Boolean ring and
α.