Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class (Bicategory kk, Ob0 kk c, Ob0 kk d, Ob0 kk e, Ob f, Ob j, Ob (Lan j f)) => LeftKanExtension (j :: kk c d) (f :: kk c e) where Source Comments #
lan :: f ~> O (Lan j f) j Source Comments #
lanUniv :: forall (g :: kk d e). Ob g => (f ~> O g j) -> Lan j f ~> g Source Comments #
Instances
(Coclosed k, Ob (q <~~ p), Ob p, Ob q) => LeftKanExtension ('MK p :: MonK k c d) ('MK q :: MonK k c e) Source Comments # | |
RightKanExtension j2 f => LeftKanExtension ('CO j2 :: COK kk j1 d) ('CO f :: COK kk j1 e) Source Comments # | |
LeftKanLift j2 f => LeftKanExtension ('OP j2 :: OPK kk j1 d) ('OP f :: OPK kk j1 e) Source Comments # | |
mapLan :: forall {k} {kk :: CAT k} {c :: k} {d :: k} {e :: k} (j :: kk c d) (f :: kk c e) (g :: kk c e). (LeftKanExtension j f, LeftKanExtension j g) => (f ~> g) -> Lan j f ~> Lan j g Source Comments #
rebaseLan :: forall {k} {kk :: CAT k} {c :: k} {e :: k} {d :: k} (f :: kk c e) (i :: kk c d) (j :: kk c d). (LeftKanExtension j f, LeftKanExtension i f) => (i ~> j) -> Lan j f ~> Lan i f Source Comments #
dimapLan :: forall {k} {kk :: CAT k} {c :: k} {d :: k} {e :: k} (i :: kk c d) (j :: kk c d) (f :: kk c e) (g :: kk c e). (LeftKanExtension j f, LeftKanExtension i g) => (i ~> j) -> (f ~> g) -> Lan j f ~> Lan i g Source Comments #
lanComonadEpsilon :: forall {s} {kk :: s -> s -> Type} {c :: s} {d :: s} (p :: kk c d). LeftKanExtension p p => Lan p p ~> (I :: kk d d) Source Comments #
lanComonadDelta :: forall {k} {kk :: k -> k -> Type} {c :: k} {d :: k} (p :: kk c d). LeftKanExtension p p => Lan p p ~> O (Lan p p) (Lan p p) Source Comments #
idLan :: forall {s} {kk :: CAT s} {c :: s} {e :: s} (f :: kk c e). (LeftKanExtension (I :: kk c c) f, Ob f) => f ~> Lan (I :: kk c c) f Source Comments #
lanAlongCompanion :: forall {c} {k1 :: c} {i :: c} {k2 :: c} (hk :: CAT c) (vk :: c -> c -> Type) (j :: vk i k2) (f :: hk i k1). (LeftKanExtension (Companion hk j) f, Equipment hk vk) => Obj j -> Lan (Companion hk j) f ~> O f (Conjoint hk j) Source Comments #
lanAlongCompanionInv :: forall {k1} {e :: k1} {i :: k1} {k2 :: k1} (hk :: CAT k1) (vk :: k1 -> k1 -> Type) (j :: vk i k2) (f :: hk i e). (LeftKanExtension (Companion hk j) f, Equipment hk vk) => Obj j -> O f (Conjoint hk j) ~> Lan (Companion hk j) f Source Comments #
class (Bicategory kk, Ob0 kk c, Ob0 kk d, Ob0 kk e, Ob f, Ob j, Ob (Ran j f)) => RightKanExtension (j :: kk c d) (f :: kk c e) where Source Comments #
ran :: O (Ran j f) j ~> f Source Comments #
ranUniv :: forall (g :: kk d e). Ob g => (O g j ~> f) -> g ~> Ran j f Source Comments #
Instances
(Profunctor f, Profunctor j) => RightKanExtension ('PK j :: PROFK c d) ('PK f :: PROFK c e) Source Comments # | |
(Closed k, Ob (p ~~> q), Ob p, Ob q) => RightKanExtension ('MK p :: MonK k c d) ('MK q :: MonK k c e) Source Comments # | |
LeftKanExtension j2 f => RightKanExtension ('CO j2 :: COK kk j1 d) ('CO f :: COK kk j1 e) Source Comments # | |
RightKanLift j2 f => RightKanExtension ('OP j2 :: OPK kk j1 d) ('OP f :: OPK kk j1 e) Source Comments # | |
mapRan :: forall {k} {kk :: CAT k} {c :: k} {d :: k} {e :: k} (j :: kk c d) (f :: kk c e) (g :: kk c e). (RightKanExtension j f, RightKanExtension j g) => (f ~> g) -> Ran j f ~> Ran j g Source Comments #
rebaseRan :: forall {k} {kk :: CAT k} {c :: k} {e :: k} {d :: k} (f :: kk c e) (i :: kk c d) (j :: kk c d). (RightKanExtension j f, RightKanExtension i f) => (i ~> j) -> Ran j f ~> Ran i f Source Comments #
dimapRan :: forall {k} {kk :: CAT k} {c :: k} {d :: k} {e :: k} (i :: kk c d) (j :: kk c d) (f :: kk c e) (g :: kk c e). (RightKanExtension j f, RightKanExtension i g) => (i ~> j) -> (f ~> g) -> Ran j f ~> Ran i g Source Comments #
ranMonadEta :: forall {s} {kk :: s -> s -> Type} {c :: s} {d :: s} (p :: kk c d). RightKanExtension p p => (I :: kk d d) ~> Ran p p Source Comments #
ranMonadMu :: forall {k} {kk :: k -> k -> Type} {c :: k} {d :: k} (p :: kk c d). RightKanExtension p p => O (Ran p p) (Ran p p) ~> Ran p p Source Comments #
composeRan :: forall {k} {kk :: CAT k} {j1 :: k} {d :: k} {c :: k} {e :: k} (i :: kk j1 d) (j2 :: kk c j1) (f :: kk c e). (RightKanExtension j2 f, RightKanExtension i (Ran j2 f), RightKanExtension (O i j2) f) => Ran i (Ran j2 f) ~> Ran (O i j2) f Source Comments #
idRan :: forall {s} {kk :: CAT s} {c :: s} {e :: s} (f :: kk c e). (RightKanExtension (I :: kk c c) f, Ob f) => f ~> Ran (I :: kk c c) f Source Comments #
ranAlongConjoint :: forall {c} {k1 :: c} {i :: c} {k2 :: c} (hk :: CAT c) (vk :: c -> c -> Type) (j :: vk i k2) (f :: hk k2 k1). (RightKanExtension (Conjoint hk j) f, Equipment hk vk) => Obj j -> Ran (Conjoint hk j) f ~> O f (Companion hk j) Source Comments #
ranAlongConjointInv :: forall {k1} {e :: k1} {i :: k1} {k2 :: k1} (hk :: CAT k1) (vk :: k1 -> k1 -> Type) (j :: vk i k2) (f :: hk k2 e). (RightKanExtension (Conjoint hk j) f, Equipment hk vk) => Obj j -> O f (Companion hk j) ~> Ran (Conjoint hk j) f Source Comments #
class (Bicategory kk, Ob0 kk c, Ob0 kk d, Ob0 kk e, Ob f, Ob j, Ob (Lift j f)) => LeftKanLift (j :: kk d c) (f :: kk e c) where Source Comments #
lift :: f ~> O j (Lift j f) Source Comments #
liftUniv :: forall (g :: kk e d). Ob g => (f ~> O j g) -> Lift j f ~> g Source Comments #
Instances
(Coclosed k, SymMonoidal k, Ob (q <~~ p), Ob p, Ob q) => LeftKanLift ('MK p :: MonK k d c) ('MK q :: MonK k e c) Source Comments # | |
RightKanLift j f => LeftKanLift ('CO j :: COK kk d k2) ('CO f :: COK kk e k2) Source Comments # | |
LeftKanExtension j f => LeftKanLift ('OP j :: OPK kk d k2) ('OP f :: OPK kk e k2) Source Comments # | |
mapLift :: forall {k} {kk :: CAT k} {d :: k} {c :: k} {e :: k} (j :: kk d c) (f :: kk e c) (g :: kk e c). (LeftKanLift j f, LeftKanLift j g) => (f ~> g) -> Lift j f ~> Lift j g Source Comments #
rebaseLift :: forall {k} {kk :: CAT k} {e :: k} {c :: k} {d :: k} (f :: kk e c) (i :: kk d c) (j :: kk d c). (LeftKanLift j f, LeftKanLift i f) => (i ~> j) -> Lift j f ~> Lift i f Source Comments #
dimapLift :: forall {k} {kk :: CAT k} {d :: k} {c :: k} {e :: k} (i :: kk d c) (j :: kk d c) (f :: kk e c) (g :: kk e c). (LeftKanLift j f, LeftKanLift i g) => (i ~> j) -> (f ~> g) -> Lift j f ~> Lift i g Source Comments #
liftComonadEpsilon :: forall {s} {kk :: s -> s -> Type} {c :: s} {d :: s} (p :: kk d c). LeftKanLift p p => Lift p p ~> (I :: kk d d) Source Comments #
liftComonadDelta :: forall {k} {kk :: k -> k -> Type} {c :: k} {d :: k} (p :: kk d c). LeftKanLift p p => Lift p p ~> O (Lift p p) (Lift p p) Source Comments #
idLift :: forall {s} {kk :: CAT s} {e :: s} {d :: s} (f :: kk e d). (LeftKanLift (I :: kk d d) f, Ob f) => f ~> Lift (I :: kk d d) f Source Comments #
liftAlongConjoint :: forall {s} {i1 :: s} {i2 :: s} {k :: s} (hk :: CAT s) (vk :: s -> s -> Type) (j :: vk i2 k) (f :: hk i1 i2). (LeftKanLift (Conjoint hk j) f, Equipment hk vk) => Obj j -> Lift (Conjoint hk j) f ~> O (Companion hk j) f Source Comments #
liftAlongConjointInv :: forall {k1} {e :: k1} {i :: k1} {k2 :: k1} (hk :: CAT k1) (vk :: k1 -> k1 -> Type) (j :: vk i k2) (f :: hk e i). (LeftKanLift (Conjoint hk j) f, Equipment hk vk) => Obj j -> O (Companion hk j) f ~> Lift (Conjoint hk j) f Source Comments #
class (Bicategory kk, Ob0 kk c, Ob0 kk d, Ob0 kk e, Ob f, Ob j, Ob (Rift j f)) => RightKanLift (j :: kk d c) (f :: kk e c) where Source Comments #
rift :: O j (Rift j f) ~> f Source Comments #
riftUniv :: forall (g :: kk e d). Ob g => (O j g ~> f) -> g ~> Rift j f Source Comments #
Instances
(Profunctor f, Profunctor j) => RightKanLift ('PK j :: PROFK d c) ('PK f :: PROFK e c) Source Comments # | |
(Closed k, SymMonoidal k, Ob (p ~~> q), Ob p, Ob q) => RightKanLift ('MK p :: MonK k d c) ('MK q :: MonK k e c) Source Comments # | |
LeftKanLift j f => RightKanLift ('CO j :: COK kk d k2) ('CO f :: COK kk e k2) Source Comments # | |
RightKanExtension j f => RightKanLift ('OP j :: OPK kk d k2) ('OP f :: OPK kk e k2) Source Comments # | |
mapRift :: forall {k} {kk :: CAT k} {d :: k} {c :: k} {e :: k} (j :: kk d c) (f :: kk e c) (g :: kk e c). (RightKanLift j f, RightKanLift j g) => (f ~> g) -> Rift j f ~> Rift j g Source Comments #
rebaseRift :: forall {k} {kk :: CAT k} {e :: k} {c :: k} {d :: k} (f :: kk e c) (i :: kk d c) (j :: kk d c). (RightKanLift j f, RightKanLift i f) => (i ~> j) -> Rift j f ~> Rift i f Source Comments #
dimapRift :: forall {k} {kk :: CAT k} {d :: k} {c :: k} {e :: k} (i :: kk d c) (j :: kk d c) (f :: kk e c) (g :: kk e c). (RightKanLift j f, RightKanLift i g) => (i ~> j) -> (f ~> g) -> Rift j f ~> Rift i g Source Comments #
riftMonadEta :: forall {s} {kk :: s -> s -> Type} {c :: s} {d :: s} (p :: kk d c). RightKanLift p p => (I :: kk d d) ~> Rift p p Source Comments #
riftMonadMu :: forall {k} {kk :: k -> k -> Type} {c :: k} {d :: k} (p :: kk d c). RightKanLift p p => O (Rift p p) (Rift p p) ~> Rift p p Source Comments #
composeRift :: forall {k} {kk :: CAT k} {d :: k} {j1 :: k} {c :: k} {e :: k} (i :: kk d j1) (j2 :: kk j1 c) (f :: kk e c). (RightKanLift j2 f, RightKanLift i (Rift j2 f), RightKanLift (O j2 i) f) => Rift i (Rift j2 f) ~> Rift (O j2 i) f Source Comments #
idRift :: forall {s} {kk :: CAT s} {e :: s} {d :: s} (f :: kk e d). (RightKanLift (I :: kk d d) f, Ob f) => f ~> Rift (I :: kk d d) f Source Comments #