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 # | |