Safe Haskell | None |
---|---|
Language | Haskell98 |
Boolean formulas without quantifiers and without negation. Such a formula consists of variables, conjunctions (and), and disjunctions (or).
This module is used to represent minimal complete definitions for classes.
Documentation
data BooleanFormula aSource
Var a | |
And [BooleanFormula a] | |
Or [BooleanFormula a] |
Functor BooleanFormula | |
Foldable BooleanFormula | |
Traversable BooleanFormula | |
Eq a => Eq (BooleanFormula a) | |
Data a => Data (BooleanFormula a) | |
Outputable a => Outputable (BooleanFormula a) | |
Binary a => Binary (BooleanFormula a) | |
Typeable (* -> *) BooleanFormula |
mkAnd :: Eq a => [BooleanFormula a] -> BooleanFormula aSource
mkOr :: Eq a => [BooleanFormula a] -> BooleanFormula aSource
mkVar :: a -> BooleanFormula aSource
isFalse :: BooleanFormula a -> BoolSource
isTrue :: BooleanFormula a -> BoolSource
eval :: (a -> Bool) -> BooleanFormula a -> BoolSource
simplify :: Eq a => (a -> Maybe Bool) -> BooleanFormula a -> BooleanFormula aSource
isUnsatisfied :: Eq a => (a -> Bool) -> BooleanFormula a -> Maybe (BooleanFormula a)Source
implies :: Eq a => BooleanFormula a -> BooleanFormula a -> BoolSource
impliesAtom :: Eq a => BooleanFormula a -> a -> BoolSource
pprBooleanFormula :: (Rational -> a -> SDoc) -> Rational -> BooleanFormula a -> SDocSource
pprBooleanFormulaNice :: Outputable a => BooleanFormula a -> SDocSource