Copyright | © Oleg Grenrus 2014 |
---|---|

License | MIT |

Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |

Stability | experimental |

Portability | non-portable |

Safe Haskell | None |

Language | Haskell2010 |

- class CoBoolean1 nf => NormalForm nf where
- type NFConstraint nf a :: Constraint

- 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