Portability | non-portable |
---|---|
Stability | experimental |
Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
Safe Haskell | None |
- 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.
type NFConstraint nf a :: ConstraintSource
NormalForm
could be constrained, so the Set
based implementations could be included.
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