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 