| Copyright | (c) Masahiro Sakai 2012-2015 |
|---|---|
| License | BSD-style |
| Maintainer | masahiro.sakai@gmail.com |
| Stability | provisional |
| Portability | non-portable |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
| Extensions |
|
ToySolver.Data.Boolean
Contents
Description
Type classes for lattices and boolean algebras.
Synopsis
- class MonotoneBoolean a where
- class Complement a where
- notB :: a -> a
- class IfThenElse b a where
- ite :: b -> a -> a -> a
- iteBoolean :: Boolean a => a -> a -> a -> a
- class (MonotoneBoolean a, Complement a, IfThenElse a a) => Boolean a where
Boolean algebra
class MonotoneBoolean a where Source #
Instances
| MonotoneBoolean Formula Source # | |
| MonotoneBoolean Expr Source # | |
| MonotoneBoolean Bool Source # | |
| MonotoneBoolean (BoolExpr a) Source # | |
| MonotoneBoolean (DNF lit) Source # | |
| MonotoneBoolean (Formula c) Source # | |
| MonotoneBoolean (GenFormula a) Source # | |
Defined in ToySolver.EUF.FiniteModelFinder Methods true :: GenFormula a Source # false :: GenFormula a Source # (.&&.) :: GenFormula a -> GenFormula a -> GenFormula a Source # (.||.) :: GenFormula a -> GenFormula a -> GenFormula a Source # andB :: [GenFormula a] -> GenFormula a Source # orB :: [GenFormula a] -> GenFormula a Source # | |
| (MonotoneBoolean a, MonotoneBoolean b) => MonotoneBoolean (a, b) Source # | |
| MonotoneBoolean a => MonotoneBoolean (b -> a) Source # | |
class Complement a where Source #
types that can be negated.
Instances
| Complement Lit Source # | |
| Complement Atom Source # | |
| Complement Formula Source # | |
| Complement Expr Source # | |
| Complement Bool Source # | |
| Complement (BoolExpr a) Source # | |
| Complement lit => Complement (DNF lit) Source # | |
| Complement (Formula a) Source # | |
| Complement (OrdRel c) Source # | |
| Complement (GenFormula a) Source # | |
Defined in ToySolver.EUF.FiniteModelFinder Methods notB :: GenFormula a -> GenFormula a Source # | |
| Complement (GenLit a) Source # | |
| (Complement a, Complement b) => Complement (a, b) Source # | |
Defined in ToySolver.Data.Boolean | |
| Complement a => Complement (b -> a) Source # | |
Defined in ToySolver.Data.Boolean | |
class IfThenElse b a where Source #
Instances
| IfThenElse Formula Formula Source # | |
| IfThenElse Expr Expr Source # | |
| IfThenElse Bool Bool Source # | |
| IfThenElse (BoolExpr a) (BoolExpr a) Source # | |
| Complement lit => IfThenElse (DNF lit) (DNF lit) Source # | |
| IfThenElse (Formula c) (Formula c) Source # | |
| IfThenElse (GenFormula a) (GenFormula a) Source # | |
Defined in ToySolver.EUF.FiniteModelFinder Methods ite :: GenFormula a -> GenFormula a -> GenFormula a -> GenFormula a Source # | |
| (Boolean a, Boolean b) => IfThenElse (a, b) (a, b) Source # | |
Defined in ToySolver.Data.Boolean | |
| Boolean a => IfThenElse (b -> a) (b -> a) Source # | |
Defined in ToySolver.Data.Boolean | |
iteBoolean :: Boolean a => a -> a -> a -> a Source #
class (MonotoneBoolean a, Complement a, IfThenElse a a) => Boolean a where Source #
types that can be combined with boolean operations.
Minimal complete definition
Nothing
Instances
| Boolean Formula Source # | |
| Boolean Expr Source # | |
| Boolean Bool Source # | |
| Boolean (BoolExpr a) Source # | |
| Complement lit => Boolean (DNF lit) Source # | |
| Boolean (Formula c) Source # | |
| Boolean (GenFormula a) Source # | |
Defined in ToySolver.EUF.FiniteModelFinder Methods (.=>.) :: GenFormula a -> GenFormula a -> GenFormula a Source # (.<=>.) :: GenFormula a -> GenFormula a -> GenFormula a Source # | |
| (Boolean a, Boolean b) => Boolean (a, b) Source # | |
| Boolean a => Boolean (b -> a) Source # | |