| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Limes.Cone.Core
Contents
Description
basic definition of Cones over Diagrammatic objects.
Synopsis
- data Cone s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') a where
- ConeProjective :: forall a (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N'). Multiplicative a => d t n m a -> Point a -> FinList n a -> Cone Mlt 'Projective d t n m a
- ConeInjective :: forall a (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N'). Multiplicative a => d t n m a -> Point a -> FinList n a -> Cone Mlt 'Injective d t n m a
- ConeKernel :: forall a (d :: DiagramType -> N' -> N' -> Type -> Type) (m :: N'). Distributive a => d ('Parallel 'LeftToRight) N2 m a -> a -> Cone Dst 'Projective d ('Parallel 'LeftToRight) ('S N1) m a
- ConeCokernel :: forall a (d :: DiagramType -> N' -> N' -> Type -> Type) (m :: N'). Distributive a => d ('Parallel 'RightToLeft) N2 m a -> a -> Cone Dst 'Injective d ('Parallel 'RightToLeft) ('S N1) m a
- diagrammaticObject :: forall s (p :: Perspective) d (t :: DiagramType) (n :: N') (m :: N') a. Cone s p d t n m a -> d t n m a
- coneDiagram :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. Diagrammatic d => Cone s p d t n m a -> Cone s p Diagram t n m a
- data Perspective
- cnMltOrDst :: forall s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') a. Cone s p d t n m a -> Either (s :~: Mlt) (s :~: Dst)
- coneStruct :: forall s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') a. Cone s p d t n m a -> ConeStruct s a
- cnDiagramTypeRefl :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. Diagrammatic d => Cone s p d t n m a -> Dual (Dual t) :~: t
- tip :: forall s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') a. Cone s p d t n m a -> Point a
- shell :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. Diagrammatic d => Cone s p d t n m a -> FinList n a
- cnArrows :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. Diagrammatic d => Cone s p d t n m a -> FinList m a
- cnPoints :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) a s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N'). (Diagrammatic d, Oriented a) => Cone s p d t n m a -> FinList n (Point a)
Cone
data Cone s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') a where Source #
cone over a diagram.
Properties Let c be in for a
Cone s p d t n m aDiagrammatic d, then holds:
If
cmatchesfor aConeProjectived t csMultiplicativestructureathen holds:If
cmatchesfor aConeInjectived t csMultiplicativestructureathen holds:If
cmatchesfor aConeKernelp kDistributivestructureathen holds:If
cmatchesfor aConeCokernelp kDistributivestructureathen holds:
Note
- Let
andHomMultiplicativeDisjunctiveh,then holds:NaturalDiagrammatich d t n m(as required by the definition ofNaturalTransformableh (->) (DiagramGd t n m) (Diagramt n m)) andNaturalDiagrammatich d t n m(see comment in source code of its instance declaration and the property ofNaturalTransformableh (->) (ConeMltp d t n m) (DiagramGd t n m)dmap) and therefore this establish a natural transformation according tohfromtoConeMltp d t n m.Diagramt n m - The same holds for
andHomMultiplicativeDisjunctiveh.ConeDstp d t n m
Constructors
| ConeProjective :: forall a (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N'). Multiplicative a => d t n m a -> Point a -> FinList n a -> Cone Mlt 'Projective d t n m a | |
| ConeInjective :: forall a (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N'). Multiplicative a => d t n m a -> Point a -> FinList n a -> Cone Mlt 'Injective d t n m a | |
| ConeKernel :: forall a (d :: DiagramType -> N' -> N' -> Type -> Type) (m :: N'). Distributive a => d ('Parallel 'LeftToRight) N2 m a -> a -> Cone Dst 'Projective d ('Parallel 'LeftToRight) ('S N1) m a | |
| ConeCokernel :: forall a (d :: DiagramType -> N' -> N' -> Type -> Type) (m :: N'). Distributive a => d ('Parallel 'RightToLeft) N2 m a -> a -> Cone Dst 'Injective d ('Parallel 'RightToLeft) ('S N1) m a |
Instances
diagrammaticObject :: forall s (p :: Perspective) d (t :: DiagramType) (n :: N') (m :: N') a. Cone s p d t n m a -> d t n m a Source #
the underlying Diagrammatic object.
coneDiagram :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. Diagrammatic d => Cone s p d t n m a -> Cone s p Diagram t n m a Source #
mapping a Diagrammatic-Cone to a Diagram-Cone.
data Perspective Source #
concept of Projective and Injective.
Constructors
| Projective | |
| Injective |
Instances
cnMltOrDst :: forall s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') a. Cone s p d t n m a -> Either (s :~: Mlt) (s :~: Dst) Source #
coneStruct :: forall s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') a. Cone s p d t n m a -> ConeStruct s a Source #
the associated ConeStruct.
cnDiagramTypeRefl :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. Diagrammatic d => Cone s p d t n m a -> Dual (Dual t) :~: t Source #
reflexivity of the underlying diagram type.
tip :: forall s (p :: Perspective) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') a. Cone s p d t n m a -> Point a Source #
shell :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. Diagrammatic d => Cone s p d t n m a -> FinList n a Source #
cnArrows :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N') a. Diagrammatic d => Cone s p d t n m a -> FinList m a Source #
the arrows of the underlying diagram.
cnPoints :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) a s (p :: Perspective) (t :: DiagramType) (n :: N') (m :: N'). (Diagrammatic d, Oriented a) => Cone s p d t n m a -> FinList n (Point a) Source #
the points of the underlying diagram.