| Copyright | (c) Erich Gut |
|---|---|
| License | BSD3 |
| Maintainer | zerich.gut@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
OAlg.Entity.Diagram.Diagrammatic
Contents
Description
objects with a naturally underlying Diagram. They serve to generalize the concept of
limits according to a diagram (see OAlg.Limes.Limits).
Synopsis
- class Diagrammatic (d :: DiagramType -> N' -> N' -> Type -> Type) where
- diagram :: forall (t :: DiagramType) (n :: N') (m :: N') x. d t n m x -> Diagram t n m x
- newtype DiagramG (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x = DiagramG (d t n m x)
- dmap :: forall d (t :: DiagramType) (n :: N') (m :: N') h x y. ApplicativeG (DiagramG d t n m) h (->) => h x y -> d t n m x -> d t n m y
- sdbToDgmObj :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x. Dual1 (d t n m) ~ d (Dual t) n m => SDualBi (DiagramG d t n m) x -> SDualBi (d t n m) x
- sdbFromDgmObj :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x. Dual1 (d t n m) ~ d (Dual t) n m => SDualBi (d t n m) x -> SDualBi (DiagramG d t n m) x
- class (Diagrammatic d, CategoryDisjunctive h, HomOrientedDisjunctive h, FunctorialOriented h, NaturalTransformable h (->) (SDualBi (DiagramG d t n m)) (SDualBi (DiagramG Diagram t n m)), t ~ Dual (Dual t)) => NaturalDiagrammatic (h :: Type -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N')
- drohS :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x. Diagrammatic d => SDualBi (DiagramG d t n m) x -> SDualBi (DiagramG Diagram t n m) x
- data NaturalDiagrammaticW (h :: Type -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N')
- type NaturalDiagrammaticBi (h :: Type -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') = (NaturalDiagrammatic h d t n m, NaturalDiagrammatic h d (Dual t) n m)
- prpNaturalDiagrammatic :: forall (h :: Type -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') q. NaturalDiagrammatic h d t n m => q h d t n m -> X (SomeNaturalApplication h (SDualBi (DiagramG d t n m)) (SDualBi (DiagramG Diagram t n m))) -> Statement
Diagrammatic
class Diagrammatic (d :: DiagramType -> N' -> N' -> Type -> Type) where Source #
object d having an underlying Diagram.
Methods
diagram :: forall (t :: DiagramType) (n :: N') (m :: N') x. d t n m x -> Diagram t n m x Source #
Instances
| Diagrammatic Diagram Source # | |
Defined in OAlg.Entity.Diagram.Diagrammatic | |
| Diagrammatic DiagramFree Source # | |
Defined in OAlg.Entity.Slice.Free Methods diagram :: forall (t :: DiagramType) (n :: N') (m :: N') x. DiagramFree t n m x -> Diagram t n m x Source # | |
| Diagrammatic SomeFreeSliceDiagram Source # | |
Defined in OAlg.Entity.Slice.Free Methods diagram :: forall (t :: DiagramType) (n :: N') (m :: N') x. SomeFreeSliceDiagram t n m x -> Diagram t n m x Source # | |
| Diagrammatic (SliceDiagram i) Source # | |
Defined in OAlg.Entity.Slice.Adjunction Methods diagram :: forall (t :: DiagramType) (n :: N') (m :: N') x. SliceDiagram i t n m x -> Diagram t n m x Source # | |
newtype DiagramG (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x Source #
wrapper for Diagrammatic-objects.
Constructors
| DiagramG (d t n m x) |
Instances
dmap :: forall d (t :: DiagramType) (n :: N') (m :: N') h x y. ApplicativeG (DiagramG d t n m) h (->) => h x y -> d t n m x -> d t n m y Source #
the induced mapping between the Diagrammatic objects.
Property Let and ApplicativeG ('DiagramG d t n m) h__ (->)h in h, then holds:
sdbToDgmObj :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x. Dual1 (d t n m) ~ d (Dual t) n m => SDualBi (DiagramG d t n m) x -> SDualBi (d t n m) x Source #
canonical mapping to its underlying diagrammatic object.
sdbFromDgmObj :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x. Dual1 (d t n m) ~ d (Dual t) n m => SDualBi (d t n m) x -> SDualBi (DiagramG d t n m) x Source #
canonical mapping from its underlying diagrammatic object.
Natural
class (Diagrammatic d, CategoryDisjunctive h, HomOrientedDisjunctive h, FunctorialOriented h, NaturalTransformable h (->) (SDualBi (DiagramG d t n m)) (SDualBi (DiagramG Diagram t n m)), t ~ Dual (Dual t)) => NaturalDiagrammatic (h :: Type -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') Source #
natural transformation on Diagrammatic objects from to
SDualBi (DiagramG d t n m), respecting the canonical application of SDualBi (Diagram t n m)h on
.SDualBi (Diagram t n m)
Property Let , then for all NaturalDiagrammatic s h d t n mx,
y and h in h x y holds:
Note This property is required if incoherent instances are permitted.
Instances
| (CategoryDisjunctive h, HomOrientedDisjunctive h, FunctorialOriented h, t ~ Dual (Dual t)) => NaturalDiagrammatic h Diagram t n m Source # | |
Defined in OAlg.Entity.Diagram.Diagrammatic | |
| (CategoryDisjunctive h, HomOrientedSlicedFree h, FunctorialOriented h, t ~ Dual (Dual t)) => NaturalDiagrammatic h DiagramFree t n m Source # | |
Defined in OAlg.Entity.Slice.Free | |
| (CategoryDisjunctive h, HomSlicedOriented i h, FunctorialOriented h, t ~ Dual (Dual t)) => NaturalDiagrammatic h (SliceDiagram i) t n m Source # | |
Defined in OAlg.Entity.Slice.Adjunction | |
drohS :: forall (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') x. Diagrammatic d => SDualBi (DiagramG d t n m) x -> SDualBi (DiagramG Diagram t n m) x Source #
data NaturalDiagrammaticW (h :: Type -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') Source #
whiteness of a NaturalDiagrammatic.
Duality
type NaturalDiagrammaticBi (h :: Type -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') = (NaturalDiagrammatic h d t n m, NaturalDiagrammatic h d (Dual t) n m) Source #
natural diagrammatic for t and .Dual t
prpNaturalDiagrammatic :: forall (h :: Type -> Type -> Type) (d :: DiagramType -> N' -> N' -> Type -> Type) (t :: DiagramType) (n :: N') (m :: N') q. NaturalDiagrammatic h d t n m => q h d t n m -> X (SomeNaturalApplication h (SDualBi (DiagramG d t n m)) (SDualBi (DiagramG Diagram t n m))) -> Statement Source #
validity according to NaturalDiagrammatic.