| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Entity.Diagram.Transformation
Description
natural transformations between Diagrams.
Synopsis
- data DiagramTrafo (t :: DiagramType) (n :: N') (m :: N') a = DiagramTrafo (Diagram t n m a) (Diagram t n m a) (FinList n a)
- dgts :: forall (t :: DiagramType) (n :: N') (m :: N') a. DiagramTrafo t n m a -> FinList n a
- dgtTypeRefl :: forall (t :: DiagramType) (n :: N') (m :: N') a. DiagramTrafo t n m a -> Dual (Dual t) :~: t
- dgtMapS :: forall h (t :: DiagramType) x y (n :: N') (m :: N'). (HomMultiplicativeDisjunctive h, t ~ Dual (Dual t)) => h x y -> SDualBi (DiagramTrafo t n m) x -> SDualBi (DiagramTrafo t n m) y
- dgtMapCov :: forall (h :: Type -> Type -> Type) a b (t :: DiagramType) (n :: N') (m :: N'). HomMultiplicativeDisjunctive h => Variant2 'Covariant h a b -> DiagramTrafo t n m a -> DiagramTrafo t n m b
- dgtMapCnt :: forall (h :: Type -> Type -> Type) a b (t :: DiagramType) (n :: N') (m :: N'). HomMultiplicativeDisjunctive h => Variant2 'Contravariant h a b -> DiagramTrafo t n m a -> DiagramTrafo (Dual t) n m b
Documentation
data DiagramTrafo (t :: DiagramType) (n :: N') (m :: N') a Source #
natural transformations between two Diagrams.
Property Let be in
DiagramTrafo a b t for a DiagramTrafo t n m aMultiplicative structure a,
then holds
.dgQuivera==dgQuiverb- For all
0holds:<=i<nwhereorientation(t i)==p i:>q ip =anddgPointsaq =.dgPointsb - For all
0holds:<=j<mt (e j)where*f j==g j*t (s j)f =,dgArrowsag =,dgArrowsbs jis the index of the start point of thej-th arrow ande jis the index of the end point.
t (s j)
s j p (s j) --------> q (s j)
| | |
j | f j | | g j
| | |
v v v
e j p (e j) --------> q (e j)
t (e j)
Constructors
| DiagramTrafo (Diagram t n m a) (Diagram t n m a) (FinList n a) |
Instances
dgts :: forall (t :: DiagramType) (n :: N') (m :: N') a. DiagramTrafo t n m a -> FinList n a Source #
the underlying list of factors.
dgtTypeRefl :: forall (t :: DiagramType) (n :: N') (m :: N') a. DiagramTrafo t n m a -> Dual (Dual t) :~: t Source #
reflexivity of t for a diagram trafo.
dgtMapS :: forall h (t :: DiagramType) x y (n :: N') (m :: N'). (HomMultiplicativeDisjunctive h, t ~ Dual (Dual t)) => h x y -> SDualBi (DiagramTrafo t n m) x -> SDualBi (DiagramTrafo t n m) y Source #
mapping of DiagramTrafo
dgtMapCov :: forall (h :: Type -> Type -> Type) a b (t :: DiagramType) (n :: N') (m :: N'). HomMultiplicativeDisjunctive h => Variant2 'Covariant h a b -> DiagramTrafo t n m a -> DiagramTrafo t n m b Source #
covariant mapping of DiagramTrafo.
dgtMapCnt :: forall (h :: Type -> Type -> Type) a b (t :: DiagramType) (n :: N') (m :: N'). HomMultiplicativeDisjunctive h => Variant2 'Contravariant h a b -> DiagramTrafo t n m a -> DiagramTrafo (Dual t) n m b Source #
contravariant mapping of DiagramTrafo.