Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
Newtype wraper which captures Boolean ring structure, which holds for every Heyting algebra. A Boolean ring is a ring which satisfies:
a <.> a = a
Some other properties:
a <+> a = mempty -- thus it is a ring of characteristic 2
a <.> b = b <.> a -- hence it is a commutative ring
a <+> (b <+> c) = (a <+> b) <+> c -- multiplicative associativity
BoolRing | |
|
Instances
HeytingAlgebra a => Semigroup (BoolRing a) Source # | Sum is symmetric differnce. |
HeytingAlgebra a => Monoid (BoolRing a) Source # | In a Boolean ring |
HeytingAlgebra a => Semiring (BoolRing a) Source # | Multiplication is given by |