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

Portabilitynon-portable
Stabilityexperimental
MaintainerOleg Grenrus <oleg.grenrus@iki.fi>
Safe HaskellNone

Data.Algebra.Boolean.NormalForm

Description

 

Synopsis

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