Copyright | © Oleg Grenrus 2014 |
---|---|
License | MIT |
Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- 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 where Source #
Class unifying different boolean normal forms.
type NFConstraint nf a :: Constraint Source #
NormalForm
could be constrained, so the Set
based implementations could be included.
toNormalForm :: a -> nf a Source #
Lift a value into normal form.
simplify :: NFConstraint nf a => (a -> Maybe Bool) -> nf a -> nf a Source #
Simplify the formula, if some terms are ⊥ or ⊤.
fromFreeBoolean :: NFConstraint nf a => FreeBoolean a -> nf a Source #
transform from free boolean form