Copyright | (c) Masahiro Sakai 2012-2015 |
---|---|
License | BSD-style |
Maintainer | masahiro.sakai@gmail.com |
Stability | provisional |
Portability | non-portable (MultiParamTypeClasses) |
Safe Haskell | Safe |
Language | Haskell2010 |
Type classes for lattices and boolean algebras.
- class MonotoneBoolean a where
- class Complement a where
- class IfThenElse b a where
- 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 #
MonotoneBoolean Bool Source # | |
MonotoneBoolean Expr Source # | |
MonotoneBoolean (DNF lit) Source # | |
MonotoneBoolean (Formula c) Source # | |
MonotoneBoolean (BoolExpr a) Source # | |
MonotoneBoolean (GenFormula a) Source # | |
MonotoneBoolean a => MonotoneBoolean (b -> a) Source # | |
(MonotoneBoolean a, MonotoneBoolean b) => MonotoneBoolean (a, b) Source # | |
class Complement a where Source #
types that can be negated.
Complement Bool Source # | |
Complement Atom Source # | |
Complement Expr Source # | |
Complement Lit Source # | |
Complement lit => Complement (DNF lit) Source # | |
Complement (Formula a) Source # | |
Complement (OrdRel c) Source # | |
Complement (BoolExpr a) Source # | |
Complement (GenFormula a) Source # | |
Complement (GenLit a) Source # | |
Complement a => Complement (b -> a) Source # | |
(Complement a, Complement b) => Complement (a, b) Source # | |
class IfThenElse b a where Source #
IfThenElse Bool Bool Source # | |
IfThenElse Expr Expr Source # | |
Complement lit => IfThenElse (DNF lit) (DNF lit) Source # | |
IfThenElse (Formula c) (Formula c) Source # | |
IfThenElse (BoolExpr a) (BoolExpr a) Source # | |
IfThenElse (GenFormula a) (GenFormula a) Source # | |
Boolean a => IfThenElse (b -> a) (b -> a) Source # | |
(Boolean a, Boolean b) => IfThenElse (a, b) (a, b) Source # | |
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.