ideas-math-types-1.1: Common types for mathematical domain reasoners

Maintainerbastiaan.heeren@ou.nl
Stabilityprovisional
Portabilityportable (depends on ghc)
Safe HaskellNone
LanguageHaskell2010

Domain.Algebra.Boolean

Contents

Description

 
Synopsis

Boolean algebra (re-exported)

class BoolValue a where #

Minimal complete definition

isTrue, isFalse

Methods

true :: a #

false :: a #

fromBool :: Bool -> a #

isTrue :: a -> Bool #

isFalse :: a -> Bool #

Instances
BoolValue Bool 
Instance details

Defined in Ideas.Common.Classes

BoolValue (Predicate a) 
Instance details

Defined in Ideas.Common.Predicate

BoolValue a => BoolValue (Smart a) Source # 
Instance details

Defined in Domain.Algebra.SmartGroup

Methods

true :: Smart a #

false :: Smart a #

fromBool :: Bool -> Smart a #

isTrue :: Smart a -> Bool #

isFalse :: Smart a -> Bool #

BoolValue (Logic a) Source # 
Instance details

Defined in Domain.Logic.Formula

Methods

true :: Logic a #

false :: Logic a #

fromBool :: Bool -> Logic a #

isTrue :: Logic a -> Bool #

isFalse :: Logic a -> Bool #

Ord a => BoolValue (Interval a) Source # 
Instance details

Defined in Domain.Math.Data.Interval

Ord a => BoolValue (OrSet a) Source # 
Instance details

Defined in Domain.Math.Data.OrList

Methods

true :: OrSet a #

false :: OrSet a #

fromBool :: Bool -> OrSet a #

isTrue :: OrSet a -> Bool #

isFalse :: OrSet a -> Bool #

BoolValue (OrList a) Source # 
Instance details

Defined in Domain.Math.Data.OrList

Methods

true :: OrList a #

false :: OrList a #

fromBool :: Bool -> OrList a #

isTrue :: OrList a -> Bool #

isFalse :: OrList a -> Bool #

BoolValue (WithBool a) Source # 
Instance details

Defined in Domain.Math.Data.WithBool

BoolValue b => BoolValue (a -> b) 
Instance details

Defined in Ideas.Common.Classes

Methods

true :: a -> b #

false :: a -> b #

fromBool :: Bool -> a -> b #

isTrue :: (a -> b) -> Bool #

isFalse :: (a -> b) -> Bool #

class BoolValue a => Boolean a where #

Methods

(<&&>) :: a -> a -> a #

(<||>) :: a -> a -> a #

complement :: a -> a #

Instances
Boolean Bool 
Instance details

Defined in Ideas.Common.Classes

Methods

(<&&>) :: Bool -> Bool -> Bool #

(<||>) :: Bool -> Bool -> Bool #

complement :: Bool -> Bool #

Boolean (Predicate a) 
Instance details

Defined in Ideas.Common.Predicate

(Boolean a, CoBoolean a) => Boolean (Smart a) Source # 
Instance details

Defined in Domain.Algebra.SmartGroup

Methods

(<&&>) :: Smart a -> Smart a -> Smart a #

(<||>) :: Smart a -> Smart a -> Smart a #

complement :: Smart a -> Smart a #

Boolean (Logic a) Source # 
Instance details

Defined in Domain.Logic.Formula

Methods

(<&&>) :: Logic a -> Logic a -> Logic a #

(<||>) :: Logic a -> Logic a -> Logic a #

complement :: Logic a -> Logic a #

Ord a => Boolean (Interval a) Source # 
Instance details

Defined in Domain.Math.Data.Interval

Boolean b => Boolean (a -> b) 
Instance details

Defined in Ideas.Common.Classes

Methods

(<&&>) :: (a -> b) -> (a -> b) -> a -> b #

(<||>) :: (a -> b) -> (a -> b) -> a -> b #

complement :: (a -> b) -> a -> b #

ands :: Boolean a => [a] -> a #

ors :: Boolean a => [a] -> a #

implies :: Boolean a => a -> a -> a #

equivalent :: Boolean a => a -> a -> a #

CoBoolean (matching)

class BoolValue a => CoBoolean a where Source #

Methods

isAnd :: a -> Maybe (a, a) Source #

isOr :: a -> Maybe (a, a) Source #

isComplement :: a -> Maybe a Source #

Instances
CoBoolean (Logic a) Source # 
Instance details

Defined in Domain.Logic.Formula

Methods

isAnd :: Logic a -> Maybe (Logic a, Logic a) Source #

isOr :: Logic a -> Maybe (Logic a, Logic a) Source #

isComplement :: Logic a -> Maybe (Logic a) Source #

conjunctions :: CoBoolean a => a -> [a] Source #

disjunctions :: CoBoolean a => a -> [a] Source #

Monoids monoid

class MonoidZero a => DualMonoid a where Source #

Methods

(><) :: a -> a -> a Source #

dualCompl :: a -> a Source #

Instances
Boolean a => DualMonoid (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

(><) :: Or a -> Or a -> Or a Source #

dualCompl :: Or a -> Or a Source #

Boolean a => DualMonoid (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

(><) :: And a -> And a -> And a Source #

dualCompl :: And a -> And a Source #

newtype And a Source #

Constructors

And 

Fields

Instances
Functor And Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

fmap :: (a -> b) -> And a -> And b #

(<$) :: a -> And b -> And a #

Applicative And Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

pure :: a -> And a #

(<*>) :: And (a -> b) -> And a -> And b #

liftA2 :: (a -> b -> c) -> And a -> And b -> And c #

(*>) :: And a -> And b -> And b #

(<*) :: And a -> And b -> And a #

Eq a => Eq (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

(==) :: And a -> And a -> Bool #

(/=) :: And a -> And a -> Bool #

Ord a => Ord (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

compare :: And a -> And a -> Ordering #

(<) :: And a -> And a -> Bool #

(<=) :: And a -> And a -> Bool #

(>) :: And a -> And a -> Bool #

(>=) :: And a -> And a -> Bool #

max :: And a -> And a -> And a #

min :: And a -> And a -> And a #

Show a => Show (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

showsPrec :: Int -> And a -> ShowS #

show :: And a -> String #

showList :: [And a] -> ShowS #

Boolean a => Semigroup (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

(<>) :: And a -> And a -> And a #

sconcat :: NonEmpty (And a) -> And a #

stimes :: Integral b => b -> And a -> And a #

Boolean a => Monoid (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

mempty :: And a #

mappend :: And a -> And a -> And a #

mconcat :: [And a] -> And a #

Arbitrary a => Arbitrary (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

arbitrary :: Gen (And a) #

shrink :: And a -> [And a] #

CoArbitrary a => CoArbitrary (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

coarbitrary :: And a -> Gen b -> Gen b #

CoBoolean a => CoMonoidZero (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

isMonoidZero :: And a -> Bool Source #

CoBoolean a => CoMonoid (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

isEmpty :: And a -> Bool Source #

isAppend :: And a -> Maybe (And a, And a) Source #

Boolean a => MonoidZero (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

mzero :: And a Source #

Boolean a => DualMonoid (And a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

(><) :: And a -> And a -> And a Source #

dualCompl :: And a -> And a Source #

newtype Or a Source #

Constructors

Or 

Fields

Instances
Functor Or Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

fmap :: (a -> b) -> Or a -> Or b #

(<$) :: a -> Or b -> Or a #

Applicative Or Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

pure :: a -> Or a #

(<*>) :: Or (a -> b) -> Or a -> Or b #

liftA2 :: (a -> b -> c) -> Or a -> Or b -> Or c #

(*>) :: Or a -> Or b -> Or b #

(<*) :: Or a -> Or b -> Or a #

Eq a => Eq (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

(==) :: Or a -> Or a -> Bool #

(/=) :: Or a -> Or a -> Bool #

Ord a => Ord (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

compare :: Or a -> Or a -> Ordering #

(<) :: Or a -> Or a -> Bool #

(<=) :: Or a -> Or a -> Bool #

(>) :: Or a -> Or a -> Bool #

(>=) :: Or a -> Or a -> Bool #

max :: Or a -> Or a -> Or a #

min :: Or a -> Or a -> Or a #

Show a => Show (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

showsPrec :: Int -> Or a -> ShowS #

show :: Or a -> String #

showList :: [Or a] -> ShowS #

Boolean a => Semigroup (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

(<>) :: Or a -> Or a -> Or a #

sconcat :: NonEmpty (Or a) -> Or a #

stimes :: Integral b => b -> Or a -> Or a #

Boolean a => Monoid (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

mempty :: Or a #

mappend :: Or a -> Or a -> Or a #

mconcat :: [Or a] -> Or a #

Arbitrary a => Arbitrary (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

arbitrary :: Gen (Or a) #

shrink :: Or a -> [Or a] #

CoArbitrary a => CoArbitrary (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

coarbitrary :: Or a -> Gen b -> Gen b #

CoBoolean a => CoMonoidZero (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

isMonoidZero :: Or a -> Bool Source #

CoBoolean a => CoMonoid (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

isEmpty :: Or a -> Bool Source #

isAppend :: Or a -> Maybe (Or a, Or a) Source #

Boolean a => MonoidZero (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

mzero :: Or a Source #

Boolean a => DualMonoid (Or a) Source # 
Instance details

Defined in Domain.Algebra.Boolean

Methods

(><) :: Or a -> Or a -> Or a Source #

dualCompl :: Or a -> Or a Source #