boolean-normal-forms-0.0.1: Boolean normal form: NNF, DNF & CNF

Copyright© Oleg Grenrus 2014
LicenseMIT
MaintainerOleg Grenrus <oleg.grenrus@iki.fi>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Algebra.Boolean.FreeBoolean

Description

 

Synopsis

Documentation

data FreeBoolean a Source #

Free Boolean type, does not perform any optimizations on the structure. Useful only in tests.

Consider using NNF.

Instances

Functor FreeBoolean Source # 

Methods

fmap :: (a -> b) -> FreeBoolean a -> FreeBoolean b #

(<$) :: a -> FreeBoolean b -> FreeBoolean a #

Foldable FreeBoolean Source # 

Methods

fold :: Monoid m => FreeBoolean m -> m #

foldMap :: Monoid m => (a -> m) -> FreeBoolean a -> m #

foldr :: (a -> b -> b) -> b -> FreeBoolean a -> b #

foldr' :: (a -> b -> b) -> b -> FreeBoolean a -> b #

foldl :: (b -> a -> b) -> b -> FreeBoolean a -> b #

foldl' :: (b -> a -> b) -> b -> FreeBoolean a -> b #

foldr1 :: (a -> a -> a) -> FreeBoolean a -> a #

foldl1 :: (a -> a -> a) -> FreeBoolean a -> a #

toList :: FreeBoolean a -> [a] #

null :: FreeBoolean a -> Bool #

length :: FreeBoolean a -> Int #

elem :: Eq a => a -> FreeBoolean a -> Bool #

maximum :: Ord a => FreeBoolean a -> a #

minimum :: Ord a => FreeBoolean a -> a #

sum :: Num a => FreeBoolean a -> a #

product :: Num a => FreeBoolean a -> a #

CoBoolean1 FreeBoolean Source # 

Methods

toBooleanWith :: Boolean c => (a -> c) -> FreeBoolean a -> c Source #

NormalForm FreeBoolean Source # 
Eq a => Eq (FreeBoolean a) Source # 
Ord a => Ord (FreeBoolean a) Source # 
Read a => Read (FreeBoolean a) Source # 
Show a => Show (FreeBoolean a) Source # 
Boolean (FreeBoolean a) Source # 
NFData a => NFData (FreeBoolean a) Source # 

Methods

rnf :: FreeBoolean a -> () #

CoBoolean a => CoBoolean (FreeBoolean a) Source # 

Methods

toBoolean :: Boolean b => FreeBoolean a -> b Source #

Negable (FreeBoolean a) Source # 
type NFConstraint FreeBoolean a Source #