Copyright | © Oleg Grenrus 2014 |
---|---|
License | MIT |
Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Documentation
Free Negable
.
Instances
Functor Neg Source # | |
CoBoolean1 Neg Source # | |
Defined in Data.Algebra.Boolean.Negable toBooleanWith :: Boolean c => (a -> c) -> Neg a -> c Source # | |
Eq a => Eq (Neg a) Source # | |
Ord a => Ord (Neg a) Source # | |
Read a => Read (Neg a) Source # | |
Show a => Show (Neg a) Source # | |
NFData a => NFData (Neg a) Source # | |
Defined in Data.Algebra.Boolean.Negable | |
CoBoolean (Neg a) Source # | |
Negable (Neg a) Source # | |
class Negable x where Source #
Class to represent invertible values.
Must obey the double negation law: not (not x) = x
The negation appears only in leafs of normal forms, and the underlying proposition class
might have built-in negation, thus we use Negable
.
Instances
Negable Bool Source # | |
Monoid m => Negable (Maybe m) Source # | |
Negable (Neg a) Source # | |
Negable (FreeBoolean a) Source # | |
Defined in Data.Algebra.Boolean.FreeBoolean not :: FreeBoolean a -> FreeBoolean a Source # | |
Negable a => Negable (NNF a) Source # | |
(Ord a, Negable a) => Negable (NNF a) Source # | |
(Ord a, Negable a) => Negable (DNF a) Source # | |
Negable a => Negable (DNF a) Source # | |
(Ord a, Negable a) => Negable (CNF a) Source # | |
Negable a => Negable (CNF a) Source # | |
(Negable a, Negable b) => Negable (Either a b) Source # | |
(Negable a, Negable b) => Negable (a, b) Source # | |
Defined in Data.Algebra.Boolean.Negable |