Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- type CoFunctor p = Contravariant p
- inverse_image :: CoFunctor p => (a -> b) -> p b -> p a
- (|>>) :: CoFunctor p => p b -> (a -> b) -> p a
- class Representable p where
- type Representation p :: * -> *
- represent :: Representation p a -> p a
- (!>) :: p a -> (Representation p a -> p a) -> p a
- class Propositional p where
- runProposition :: p a -> a -> p ()
- class Propositional p => BinaryLogic p where
- class CoFunctor p => Relational p where
- relation :: (a -> p b) -> p (a, b)
- unrelation :: p (a, b) -> a -> p b
- class CoFunctor p => Existential p where
- direct_image :: (Universe a, Eq b) => (a -> b) -> p a -> p b
- universal_image :: (Universe a, Eq b) => (a -> b) -> p a -> p b
- class CoFunctor p => Difference p minus | p -> minus where
- difference :: (p a -> p b) -> p (b `minus` a)
- undifference :: p (b `minus` a) -> p a -> p b
- class (Eq c, CoFunctor p) => HasEqualizers p c where
- class Functor p => Topology p where
- arbitrary_union :: [p a] -> p a
- finite_intersect :: [p a] -> p a
- class HasTerminalObject t where
- terminal_arrow :: a -> t
- class CoFunctor p => HasVariables p t where
- class CoFunctor p => PropositionalLogic p where
- class PropositionalLogic p => ModalLogic p where
- eventually :: p a -> p a
- always :: p a -> p a
- class CoFunctor p => Continuous p where
- class CoFunctor p => SubtractiveLogic p where
- (-\-) :: p a -> p a -> p a
- class CoFunctor p => ImplicativeLogic p where
- (-=>-) :: p a -> p a -> p a
- class CoFunctor p => BooleanLogic p where
- true :: p a
- class CoFunctor p => UniversalLogic p where
- singleton :: Eq a => a -> p a
- all_members :: Universe a => p a
- class CoFunctor p => Universal p where
- member :: Propositional p => a -> p a -> p ()
- isIn :: BinaryLogic p => a -> p a -> Bool
- isNotIn :: BinaryLogic p => a -> p a -> Bool
- terminal_part :: Propositional p => p () -> p ()
- propositional_implication :: PropositionalLogic p => p a -> p a -> p a
- relative_complement :: PropositionalLogic p => p a -> p a -> p a
- intersect_list :: (BooleanLogic p, PropositionalLogic p) => [p a] -> p a
- union_list :: (BooleanLogic p, PropositionalLogic p) => [p a] -> p a
- characteristic :: BooleanLogic p => (a -> p ()) -> p a
- false_prop :: (BooleanLogic p, PropositionalLogic p) => p a
- (-<=>-) :: (ImplicativeLogic p, PropositionalLogic p) => p a -> p a -> p a
- symmetric_difference :: (PropositionalLogic p, SubtractiveLogic p) => p a -> p a -> p a
- boundary :: (PropositionalLogic p, BooleanLogic p, SubtractiveLogic p) => p a -> p a
- curry_subst :: CoFunctor p => ((a, b) -> c) -> p (b -> c) -> p a
- uncurry_subst :: CoFunctor p => (a -> b -> c) -> p c -> p (a, b)
- dualize :: Difference p minus => (a -> b) -> p (a `minus` b)
- coin1 :: CoFunctor p => p a -> p (a, b)
- coin2 :: CoFunctor p => p b -> p (a, b)
- cofst :: CoFunctor p => p (Either a b) -> p a
- cosnd :: CoFunctor p => p (Either a b) -> p b
- cocase :: CoFunctor p => (Either a b -> c) -> p c -> (p a, p b)
- copair :: (Propositional p, BooleanLogic p) => p a -> p b -> p (Either a b)
- pair_subst :: CoFunctor p => (a -> b) -> (a -> c) -> p (b, c) -> p a
- graph_subst :: CoFunctor p => (a -> b) -> p (a, b) -> p a
- data Assertion a
- = PrimAssert {
- asserted_condition :: a -> Bool
- | NotAssert { }
- | AndAssert {
- asserted_conjunctions :: [Assertion a]
- | OrAssert {
- asserted_disjunctions :: [Assertion a]
- = PrimAssert {
Documentation
type CoFunctor p = Contravariant p Source #
For exposition of classical logic used here, see "Lawvere,Rosebrugh: Sets for mathematics".
(x |>> f) |>> g == x |>> (f . g) inverse_image g (inverse_image f x) == inverse_image (f . g) x
Notice, CoFunctor is nowadays in base, so please use Data.Functor.Contravariant.Contravariant
inverse_image :: CoFunctor p => (a -> b) -> p b -> p a Source #
class Representable p where Source #
type Representation p :: * -> * Source #
represent :: Representation p a -> p a Source #
(!>) :: p a -> (Representation p a -> p a) -> p a Source #
Instances
Representable IO Source # | |
Representable List Source # | |
Defined in Math.Tools.CoFunctor represent :: Representation List a -> [a] Source # (!>) :: [a] -> (Representation List a -> [a]) -> [a] Source # |
class Propositional p where Source #
runProposition :: p a -> a -> p () Source #
Instances
Propositional Assertion Source # | |
Defined in Math.Tools.CoFunctor runProposition :: Assertion a -> a -> Assertion () Source # | |
Propositional Prop Source # | |
Defined in Math.Tools.Prop runProposition :: Prop a -> a -> Prop () Source # | |
Propositional ((:<-:) soc) Source # | |
Defined in Math.Graph.Action runProposition :: (soc :<-: a) -> a -> soc :<-: () Source # |
class Propositional p => BinaryLogic p where Source #
Instances
class CoFunctor p => Relational p where Source #
Instances
Relational Prop Source # | relation and unrelation represent the natural isomorphism \[Hom(-,P(A)) \cong Sub(- \times A)\] |
Relational ((:<-:) Bool) Source # | |
class CoFunctor p => Existential p where Source #
direct_image :: (Universe a, Eq b) => (a -> b) -> p a -> p b Source #
universal_image :: (Universe a, Eq b) => (a -> b) -> p a -> p b Source #
Instances
Existential Prop Source # | |
Defined in Math.Tools.Prop |
class CoFunctor p => Difference p minus | p -> minus where Source #
difference :: (p a -> p b) -> p (b `minus` a) Source #
undifference :: p (b `minus` a) -> p a -> p b Source #
class (Eq c, CoFunctor p) => HasEqualizers p c where Source #
class Functor p => Topology p where Source #
arbitrary_union :: [p a] -> p a Source #
finite_intersect :: [p a] -> p a Source #
class HasTerminalObject t where Source #
terminal_arrow :: a -> t Source #
Instances
HasTerminalObject () Source # | |
Defined in Math.Tools.CoFunctor terminal_arrow :: a -> () Source # |
class CoFunctor p => PropositionalLogic p where Source #
class PropositionalLogic p => ModalLogic p where Source #
Nothing
class CoFunctor p => SubtractiveLogic p where Source #
class CoFunctor p => ImplicativeLogic p where Source #
Instances
class CoFunctor p => BooleanLogic p where Source #
Instances
BooleanLogic Assertion Source # | |
Defined in Math.Tools.CoFunctor | |
BooleanLogic Prop Source # | |
Defined in Math.Tools.Prop | |
BooleanLogic ((:<-:) Bool) Source # | |
class CoFunctor p => UniversalLogic p where Source #
Instances
member :: Propositional p => a -> p a -> p () Source #
isIn :: BinaryLogic p => a -> p a -> Bool Source #
isNotIn :: BinaryLogic p => a -> p a -> Bool Source #
terminal_part :: Propositional p => p () -> p () Source #
propositional_implication :: PropositionalLogic p => p a -> p a -> p a Source #
relative_complement :: PropositionalLogic p => p a -> p a -> p a Source #
intersect_list :: (BooleanLogic p, PropositionalLogic p) => [p a] -> p a Source #
union_list :: (BooleanLogic p, PropositionalLogic p) => [p a] -> p a Source #
characteristic :: BooleanLogic p => (a -> p ()) -> p a Source #
false_prop :: (BooleanLogic p, PropositionalLogic p) => p a Source #
(-<=>-) :: (ImplicativeLogic p, PropositionalLogic p) => p a -> p a -> p a Source #
symmetric_difference :: (PropositionalLogic p, SubtractiveLogic p) => p a -> p a -> p a Source #
boundary :: (PropositionalLogic p, BooleanLogic p, SubtractiveLogic p) => p a -> p a Source #
curry_subst :: CoFunctor p => ((a, b) -> c) -> p (b -> c) -> p a Source #
uncurry_subst :: CoFunctor p => (a -> b -> c) -> p c -> p (a, b) Source #
dualize :: Difference p minus => (a -> b) -> p (a `minus` b) Source #
copair :: (Propositional p, BooleanLogic p) => p a -> p b -> p (Either a b) Source #
pair_subst :: CoFunctor p => (a -> b) -> (a -> c) -> p (b, c) -> p a Source #
graph_subst :: CoFunctor p => (a -> b) -> p (a, b) -> p a Source #
PrimAssert | |
| |
NotAssert | |
AndAssert | |
| |
OrAssert | |
|
Instances
Contravariant Assertion Source # | |
BinaryLogic Assertion Source # | |
BooleanLogic Assertion Source # | |
Defined in Math.Tools.CoFunctor | |
ImplicativeLogic Assertion Source # | |
Propositional Assertion Source # | |
Defined in Math.Tools.CoFunctor runProposition :: Assertion a -> a -> Assertion () Source # | |
PropositionalLogic Assertion Source # | |