| Copyright | © Oleg Grenrus 2014 |
|---|---|
| License | MIT |
| Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Algebra.Boolean.Negable
Description
Documentation
Free Negable.
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.
Minimal complete definition
Instances
| Negable Bool Source # | |
| Monoid m => Negable (Maybe m) Source # | |
| Negable (Neg a) Source # | |
| Negable (FreeBoolean a) Source # | |
| (Ord a, Negable a) => Negable (NNF a) Source # | |
| Negable a => Negable (NNF a) Source # | |
| Negable a => Negable (DNF a) Source # | |
| (Ord a, 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 # | |