| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Category.NaturalTransformable
Description
Natural transformable applications.
Synopsis
- class (Natural (ObjectClass a) b f g, FunctorialG f a b, FunctorialG g a b) => NaturalTransformable (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type)
- data NaturalTransformation (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) where
- NaturalTransformation :: forall (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type). NaturalTransformable a b f g => NaturalTransformation a b f g
- roh' :: forall (a :: Type -> Type -> Type) b f g x. NaturalTransformation a b f g -> Struct (ObjectClass a) x -> b (f x) (g x)
- type NaturalFunctorial (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) = (NaturalTransformable a b f g, FunctorialG f a b, FunctorialG g a b)
- class Natural s (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) where
- class NaturalTransformable h b (Dual1 f) (Dual1 g) => NaturalTransformableDual1 (h :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type)
- prpNaturalTransformable :: forall (a :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type). NaturalTransformation a (->) f g -> X (SomeNaturalApplication a f g) -> Statement
- data SomeNaturalApplication (a :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) where
- relNaturalTransformable :: forall a (g :: Type -> Type) y f x. (Show2 a, Eq (g y), Show (f x)) => NaturalTransformation a (->) f g -> a x y -> f x -> Statement
Transformable
class (Natural (ObjectClass a) b f g, FunctorialG f a b, FunctorialG g a b) => NaturalTransformable (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) Source #
natural generalized associations.
Property Let and
NaturalTransformable s a b f gn in 'NatrualTransormation s a b r f g, then holds:
Instances
data NaturalTransformation (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) where Source #
witness for a NaturalTransformable.
Constructors
| NaturalTransformation :: forall (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type). NaturalTransformable a b f g => NaturalTransformation a b f g |
roh' :: forall (a :: Type -> Type -> Type) b f g x. NaturalTransformation a b f g -> Struct (ObjectClass a) x -> b (f x) (g x) Source #
the induced roh.
type NaturalFunctorial (a :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) = (NaturalTransformable a b f g, FunctorialG f a b, FunctorialG g a b) Source #
natural transformables admitting the functorial propperty.
Natural
class Natural s (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) where Source #
natural associations on s-structured types
between f and g within b.
Instances
| Conic c => Natural r (->) (SDualBi (ConeG c s p d t n m)) (SDualBi (ConeG Cone s p d t n m)) Source # | |
| Diagrammatic d => Natural s (->) (SDualBi (DiagramG d t n m)) (SDualBi (DiagramG Diagram t n m)) Source # | |
| Diagrammatic d => Natural s (->) (DiagramG d t n m) (DiagramG Diagram t n m) Source # | |
| Natural r (->) (Cone s p d t n m) (DiagramG d t n m) Source # | |
| Conic c => Natural r (->) (ConeG c s p d t n m) (ConeG Cone s p d t n m) Source # | |
Duality
class NaturalTransformable h b (Dual1 f) (Dual1 g) => NaturalTransformableDual1 (h :: Type -> Type -> Type) (b :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) Source #
helper class to avoid undecidable instances.
Proposition
prpNaturalTransformable :: forall (a :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type). NaturalTransformation a (->) f g -> X (SomeNaturalApplication a f g) -> Statement Source #
validity according to NaturalTransformable for some applications.
data SomeNaturalApplication (a :: Type -> Type -> Type) (f :: Type -> Type) (g :: Type -> Type) where Source #
some f-indexed application.
relNaturalTransformable :: forall a (g :: Type -> Type) y f x. (Show2 a, Eq (g y), Show (f x)) => NaturalTransformation a (->) f g -> a x y -> f x -> Statement Source #
validity according to NaturalTransformable for some applications.