Copyright | (c) Erich Gut |
---|---|
License | BSD3 |
Maintainer | zerich.gut@gmail.com |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- newtype Limits s p t n m a = Limits (Diagram t n m a -> Limes s p t n m a)
- limes :: Limits s p t n m a -> Diagram t n m a -> Limes s p t n m a
- lmsMap :: IsoOrt s h => h a b -> Limits s p t n m a -> Limits s p t n m b
- lmsToOp :: LimitsDuality s f g a -> f a -> g (Op a)
- lmsFromOp :: LimitsDuality s f g a -> g (Op a) -> f a
- data LimitsDuality s f g a where
- LimitsDuality :: ConeStruct s a -> (f a :~: Limits s p t n m a) -> (g (Op a) :~: Dual (Limits s p t n m a)) -> (Dual (Dual p) :~: p) -> (Dual (Dual t) :~: t) -> LimitsDuality s f g a
- coLimits :: ConeStruct s a -> (Dual (Dual p) :~: p) -> (Dual (Dual t) :~: t) -> Limits s p t n m a -> Dual (Limits s p t n m a)
- coLimitsInv :: ConeStruct s a -> (Dual (Dual p) :~: p) -> (Dual (Dual t) :~: t) -> Dual (Limits s p t n m a) -> Limits s p t n m a
- lmsFromOpOp :: ConeStruct s a -> (Dual (Dual p) :~: p) -> (Dual (Dual t) :~: t) -> Limits s p t n m (Op (Op a)) -> Limits s p t n m a
- lmsToPrjOrnt :: Entity p => p -> Limits Mlt Projective t n m (Orientation p)
- lmsFromInjOrnt :: Entity p => p -> Limits Mlt Injective t n m (Orientation p)
- prpLimits :: ConeStruct s a -> Limits s p t n m a -> X (Diagram t n m a) -> XOrtPerspective p a -> Statement
- prpLimitsDiagram :: ConeStruct s a -> XOrtPerspective p a -> Limits s p t n m a -> Diagram t n m a -> Statement
Limits
newtype Limits s p t n m a Source #
limes of a diagram, i.e. assigning to each diagram a limes over the given diagram.
Property Let lms
be in
and Limits
s p t n m ad
in
then holds:
Diagram
t n m a
.diagram
(limes
lms d) ==
d
Instances
IsoDistributive h => Applicative1 h (Limits Dst p t n m) Source # | |
IsoMultiplicative h => Applicative1 h (Limits Mlt p t n m) Source # | |
(Distributive a, XStandard (Diagram t n m a), XStandardOrtPerspective p a) => Validable (Limits Dst p t n m a) Source # | |
(Multiplicative a, XStandard (Diagram t n m a), XStandardOrtPerspective p a) => Validable (Limits Mlt p t n m a) Source # | |
type Dual (Limits s p t n m a :: TYPE LiftedRep) Source # | |
limes :: Limits s p t n m a -> Diagram t n m a -> Limes s p t n m a Source #
the limes over the given diagram.
lmsMap :: IsoOrt s h => h a b -> Limits s p t n m a -> Limits s p t n m b Source #
mapping of limits.
Duality
data LimitsDuality s f g a where Source #
Op
-duality between limits types.
LimitsDuality :: ConeStruct s a -> (f a :~: Limits s p t n m a) -> (g (Op a) :~: Dual (Limits s p t n m a)) -> (Dual (Dual p) :~: p) -> (Dual (Dual t) :~: t) -> LimitsDuality s f g a |
coLimits :: ConeStruct s a -> (Dual (Dual p) :~: p) -> (Dual (Dual t) :~: t) -> Limits s p t n m a -> Dual (Limits s p t n m a) Source #
the co limits wit its inverse coLimitsInv
.
coLimitsInv :: ConeStruct s a -> (Dual (Dual p) :~: p) -> (Dual (Dual t) :~: t) -> Dual (Limits s p t n m a) -> Limits s p t n m a Source #
from the co limits, with its inverse of coLimits
.
lmsFromOpOp :: ConeStruct s a -> (Dual (Dual p) :~: p) -> (Dual (Dual t) :~: t) -> Limits s p t n m (Op (Op a)) -> Limits s p t n m a Source #
from the bidual.
Construction
lmsToPrjOrnt :: Entity p => p -> Limits Mlt Projective t n m (Orientation p) Source #
projective limits for
.Orientation
p
lmsFromInjOrnt :: Entity p => p -> Limits Mlt Injective t n m (Orientation p) Source #
injective limits for
.Orientation
p
Proposition
prpLimits :: ConeStruct s a -> Limits s p t n m a -> X (Diagram t n m a) -> XOrtPerspective p a -> Statement Source #
prpLimitsDiagram :: ConeStruct s a -> XOrtPerspective p a -> Limits s p t n m a -> Diagram t n m a -> Statement Source #
validity according to Limits
.