| Portability | non-portable |
|---|---|
| Stability | experimental |
| Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
| Safe Haskell | None |
Data.Algebra.Boolean.NormalForm
Description
- class CoBoolean1 nf => NormalForm nf where
- type NFConstraint nf a :: Constraint
- toNormalForm :: a -> nf a
- simplify :: NFConstraint nf a => (a -> Maybe Bool) -> nf a -> nf a
- fromFreeBoolean :: NFConstraint nf a => FreeBoolean a -> nf a
- module Data.Algebra.Boolean.CoBoolean
Documentation
class CoBoolean1 nf => NormalForm nf whereSource
Class unifying different boolean normal forms.
Associated Types
type NFConstraint nf a :: ConstraintSource
NormalForm could be constrained, so the Set based implementations could be included.
Methods
toNormalForm :: a -> nf aSource
Lift a value into normal form.
simplify :: NFConstraint nf a => (a -> Maybe Bool) -> nf a -> nf aSource
Simplify the formula, if some terms are ⊥ or ⊤
fromFreeBoolean :: NFConstraint nf a => FreeBoolean a -> nf aSource
transform from free boolean form