Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
newtype OPK (kk :: CAT k) (j :: k) (k1 :: k) Source Comments #
OP (kk k1 j) |
Instances
Bicategory kk => Bicategory (OPK kk :: s -> s -> Type) Source Comments # | Create a dual of a bicategory by reversing the 1-cells. |
Defined in Proarrow.Category.Bicategory.Op iObj :: forall (i :: s). Ob0 (OPK kk) i => Obj (I :: OPK kk i i) Source Comments # o :: forall {i :: s} (j :: s) (k :: s) (a :: OPK kk j k) (b :: OPK kk j k) (c :: OPK kk i j) (d :: OPK kk i j). (a ~> b) -> (c ~> d) -> O a c ~> O b d Source Comments # (\\\) :: forall (i :: s) (j :: s) (ps :: OPK kk i j) (qs :: OPK kk i j) r. ((Ob0 (OPK kk) i, Ob0 (OPK kk) j, Ob ps, Ob qs) => r) -> (ps ~> qs) -> r Source Comments # leftUnitor :: forall {i :: s} {j :: s} (a :: OPK kk i j). (Ob0 (OPK kk) i, Ob0 (OPK kk) j, Ob a) => O (I :: OPK kk j j) a ~> a Source Comments # leftUnitorInv :: forall {i :: s} {j :: s} (a :: OPK kk i j). (Ob0 (OPK kk) i, Ob0 (OPK kk) j, Ob a) => a ~> O (I :: OPK kk j j) a Source Comments # rightUnitor :: forall {i :: s} {j :: s} (a :: OPK kk i j). (Ob0 (OPK kk) i, Ob0 (OPK kk) j, Ob a) => O a (I :: OPK kk i i) ~> a Source Comments # rightUnitorInv :: forall {i :: s} {j :: s} (a :: OPK kk i j). (Ob0 (OPK kk) i, Ob0 (OPK kk) j, Ob a) => a ~> O a (I :: OPK kk i i) Source Comments # associator :: forall {h :: s} {i :: s} {j :: s} {k :: s} (a :: OPK kk j k) (b :: OPK kk i j) (c :: OPK kk h i). (Ob0 (OPK kk) h, Ob0 (OPK kk) i, Ob0 (OPK kk) j, Ob0 (OPK kk) k, Ob a, Ob b, Ob c) => O (O a b) c ~> O a (O b c) Source Comments # associatorInv :: forall {h :: s} {i :: s} {j :: s} {k :: s} (a :: OPK kk j k) (b :: OPK kk i j) (c :: OPK kk h i). (Ob0 (OPK kk) h, Ob0 (OPK kk) i, Ob0 (OPK kk) j, Ob0 (OPK kk) k, Ob a, Ob b, Ob c) => O a (O b c) ~> O (O a b) c Source Comments # | |
LeftKanLift j2 f => LeftKanExtension ('OP j2 :: OPK kk j1 d) ('OP f :: OPK kk j1 e) Source Comments # | |
LeftKanExtension j f => LeftKanLift ('OP j :: OPK kk d k2) ('OP f :: OPK kk e k2) Source Comments # | |
RightKanLift j2 f => RightKanExtension ('OP j2 :: OPK kk j1 d) ('OP f :: OPK kk j1 e) Source Comments # | |
RightKanExtension j f => RightKanLift ('OP j :: OPK kk d k2) ('OP f :: OPK kk e k2) Source Comments # | |
Adjunction f g => Adjunction ('OP g :: OPK kk k2 j) ('OP f :: OPK kk j k2) Source Comments # | |
Bimodule s t p => Bimodule ('OP t :: OPK kk k2 k2) ('OP s :: OPK kk j j) ('OP p :: OPK kk j k2) Source Comments # | |
Comonad t => Comonad ('OP t :: OPK kk a a) Source Comments # | |
Monad t => Monad ('OP t :: OPK kk a a) Source Comments # | |
Equipment hk vk => Equipment (COK hk :: k -> k -> Type) (OPK vk :: k -> k -> Type) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op mapConjoint :: forall {j :: k} {k0 :: k} (f :: OPK vk j k0) (g :: OPK vk j k0). (f ~> g) -> Conjoint (COK hk) g ~> Conjoint (COK hk) f Source Comments # conjToId :: forall (k0 :: k). Ob0 (OPK vk) k0 => Conjoint (COK hk) (I :: OPK vk k k) ~> (I :: COK hk k k) Source Comments # conjFromId :: forall (k0 :: k). Ob0 (OPK vk) k0 => (I :: COK hk k k) ~> Conjoint (COK hk) (I :: OPK vk k k) Source Comments # conjToCompose :: forall {k1 :: k} {j :: k} {k2 :: k} (f :: OPK vk j k2) (g :: OPK vk k1 j). Obj f -> Obj g -> Conjoint (COK hk) (O f g) ~> O (Conjoint (COK hk) g) (Conjoint (COK hk) f) Source Comments # conjFromCompose :: forall {j1 :: k} {j2 :: k} {k0 :: k} (f :: OPK vk j2 k0) (g :: OPK vk j1 j2). Obj f -> Obj g -> O (Conjoint (COK hk) g) (Conjoint (COK hk) f) ~> Conjoint (COK hk) (O f g) Source Comments # comConUnit :: forall {j :: k} {k0 :: k} (f :: OPK vk j k0). Obj f -> (I :: COK hk j j) ~> O (Conjoint (COK hk) f) (Companion (COK hk) f) Source Comments # comConCounit :: forall {j :: k} {k0 :: k} (f :: OPK vk j k0). Obj f -> O (Companion (COK hk) f) (Conjoint (COK hk) f) ~> (I :: COK hk k k) Source Comments # | |
Equipment hk vk => Equipment (OPK hk :: k -> k -> Type) (COK vk :: k -> k -> Type) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op mapConjoint :: forall {j :: k} {k0 :: k} (f :: COK vk j k0) (g :: COK vk j k0). (f ~> g) -> Conjoint (OPK hk) g ~> Conjoint (OPK hk) f Source Comments # conjToId :: forall (k0 :: k). Ob0 (COK vk) k0 => Conjoint (OPK hk) (I :: COK vk k k) ~> (I :: OPK hk k k) Source Comments # conjFromId :: forall (k0 :: k). Ob0 (COK vk) k0 => (I :: OPK hk k k) ~> Conjoint (OPK hk) (I :: COK vk k k) Source Comments # conjToCompose :: forall {k1 :: k} {j :: k} {k2 :: k} (f :: COK vk j k2) (g :: COK vk k1 j). Obj f -> Obj g -> Conjoint (OPK hk) (O f g) ~> O (Conjoint (OPK hk) g) (Conjoint (OPK hk) f) Source Comments # conjFromCompose :: forall {j1 :: k} {j2 :: k} {k0 :: k} (f :: COK vk j2 k0) (g :: COK vk j1 j2). Obj f -> Obj g -> O (Conjoint (OPK hk) g) (Conjoint (OPK hk) f) ~> Conjoint (OPK hk) (O f g) Source Comments # comConUnit :: forall {j :: k} {k0 :: k} (f :: COK vk j k0). Obj f -> (I :: OPK hk j j) ~> O (Conjoint (OPK hk) f) (Companion (OPK hk) f) Source Comments # comConCounit :: forall {j :: k} {k0 :: k} (f :: COK vk j k0). Obj f -> O (Companion (OPK hk) f) (Conjoint (OPK hk) f) ~> (I :: OPK hk k k) Source Comments # | |
Equipment hk vk => HasCompanions (COK hk :: k -> k -> Type) (OPK vk :: k -> k -> Type) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op mapCompanion :: forall {j :: k} {k0 :: k} (f :: OPK vk j k0) (g :: OPK vk j k0). (f ~> g) -> Companion (COK hk) f ~> Companion (COK hk) g Source Comments # compToId :: forall (k0 :: k). Ob0 (OPK vk) k0 => Companion (COK hk) (I :: OPK vk k k) ~> (I :: COK hk k k) Source Comments # compFromId :: forall (k0 :: k). Ob0 (OPK vk) k0 => (I :: COK hk k k) ~> Companion (COK hk) (I :: OPK vk k k) Source Comments # compToCompose :: forall {i :: k} {j :: k} {k0 :: k} (f :: OPK vk j k0) (g :: OPK vk i j). Obj f -> Obj g -> Companion (COK hk) (O f g) ~> O (Companion (COK hk) f) (Companion (COK hk) g) Source Comments # compFromCompose :: forall {j1 :: k} {j2 :: k} {k0 :: k} (f :: OPK vk j2 k0) (g :: OPK vk j1 j2). Obj f -> Obj g -> O (Companion (COK hk) f) (Companion (COK hk) g) ~> Companion (COK hk) (O f g) Source Comments # | |
Equipment hk vk => HasCompanions (OPK hk :: k -> k -> Type) (COK vk :: k -> k -> Type) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op mapCompanion :: forall {j :: k} {k0 :: k} (f :: COK vk j k0) (g :: COK vk j k0). (f ~> g) -> Companion (OPK hk) f ~> Companion (OPK hk) g Source Comments # compToId :: forall (k0 :: k). Ob0 (COK vk) k0 => Companion (OPK hk) (I :: COK vk k k) ~> (I :: OPK hk k k) Source Comments # compFromId :: forall (k0 :: k). Ob0 (COK vk) k0 => (I :: OPK hk k k) ~> Companion (OPK hk) (I :: COK vk k k) Source Comments # compToCompose :: forall {i :: k} {j :: k} {k0 :: k} (f :: COK vk j k0) (g :: COK vk i j). Obj f -> Obj g -> Companion (OPK hk) (O f g) ~> O (Companion (OPK hk) f) (Companion (OPK hk) g) Source Comments # compFromCompose :: forall {j1 :: k} {j2 :: k} {k0 :: k} (f :: COK vk j2 k0) (g :: COK vk j1 j2). Obj f -> Obj g -> O (Companion (OPK hk) f) (Companion (OPK hk) g) ~> Companion (OPK hk) (O f g) Source Comments # | |
CategoryOf (kk k2 j) => CategoryOf (OPK kk j k2) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op | |
CategoryOf (kk k2 j) => Promonad (Op :: OPK kk j k2 -> OPK kk j k2 -> Type) Source Comments # | |
CategoryOf (kk k2 j) => Profunctor (Op :: OPK kk j k2 -> OPK kk j k2 -> Type) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op | |
type Ob0 (OPK kk :: s -> s -> Type) (k2 :: k1) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op | |
type Lan ('OP j2 :: OPK kk j1 d) ('OP f :: OPK kk j1 e) Source Comments # | |
type Lift ('OP j :: OPK kk d k2) ('OP f :: OPK kk e k2) Source Comments # | |
type Ran ('OP j2 :: OPK kk j1 d) ('OP f :: OPK kk j1 e) Source Comments # | |
type Rift ('OP j :: OPK kk d k2) ('OP f :: OPK kk e k2) Source Comments # | |
type I Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op | |
type O (a :: OPK kk j1 k) (b :: OPK kk j2 j1) Source Comments # | |
type Companion (COK hk :: k -> k -> Type) (f :: OPK vk j k1) Source Comments # | |
type Companion (OPK hk :: k1 -> k1 -> Type) (f :: COK vk j k2) Source Comments # | |
type Conjoint (COK hk :: k -> k -> Type) (f :: OPK vk k1 j) Source Comments # | |
type Conjoint (OPK hk :: k1 -> k1 -> Type) (f :: COK vk k2 j) Source Comments # | |
type UN ('OP :: kk k2 j -> OPK kk j k2) ('OP k3 :: OPK kk j k2) Source Comments # | |
type (~>) Source Comments # | |
type Ob (a :: OPK kk j k2) Source Comments # | |
data Op (a :: OPK kk k1 j) (b :: OPK kk k1 j) where Source Comments #
Op :: forall {k} {kk :: CAT k} {j :: k} {k1 :: k} (a1 :: kk j k1) (b1 :: kk j k1). (a1 ~> b1) -> Op ('OP a1) ('OP b1) |
Instances
CategoryOf (kk k2 j) => Promonad (Op :: OPK kk j k2 -> OPK kk j k2 -> Type) Source Comments # | |
CategoryOf (kk k2 j) => Profunctor (Op :: OPK kk j k2 -> OPK kk j k2 -> Type) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op |
flipSq :: forall {k1} {kk1 :: CAT k1} {k2 :: k1} {k3 :: k1} {kk2 :: CAT k1} {j :: k1} {h :: k1} (p :: kk1 k2 k3) (f :: kk2 j k3) (q :: kk1 h j) (g :: kk2 h k2). Sq '('CO p, 'OP f) '('CO q, 'OP g) -> Sq '('OP q, 'CO g) '('OP p, 'CO f) Source Comments #
flipRetroSq :: forall {k1} {kk1 :: CAT k1} {h :: k1} {j :: k1} {kk2 :: CAT k1} {k2 :: k1} {k3 :: k1} (p :: kk1 h j) (f :: kk2 h k2) (q :: kk1 k2 k3) (g :: kk2 j k3). RetroSq '('CO p, 'OP f) '('CO q, 'OP g) -> RetroSq '('OP q, 'CO g) '('OP p, 'CO f) Source Comments #
Orphan instances
Equipment hk vk => Equipment (COK hk :: k -> k -> Type) (OPK vk :: k -> k -> Type) Source Comments # | |
mapConjoint :: forall {j :: k} {k0 :: k} (f :: OPK vk j k0) (g :: OPK vk j k0). (f ~> g) -> Conjoint (COK hk) g ~> Conjoint (COK hk) f Source Comments # conjToId :: forall (k0 :: k). Ob0 (OPK vk) k0 => Conjoint (COK hk) (I :: OPK vk k k) ~> (I :: COK hk k k) Source Comments # conjFromId :: forall (k0 :: k). Ob0 (OPK vk) k0 => (I :: COK hk k k) ~> Conjoint (COK hk) (I :: OPK vk k k) Source Comments # conjToCompose :: forall {k1 :: k} {j :: k} {k2 :: k} (f :: OPK vk j k2) (g :: OPK vk k1 j). Obj f -> Obj g -> Conjoint (COK hk) (O f g) ~> O (Conjoint (COK hk) g) (Conjoint (COK hk) f) Source Comments # conjFromCompose :: forall {j1 :: k} {j2 :: k} {k0 :: k} (f :: OPK vk j2 k0) (g :: OPK vk j1 j2). Obj f -> Obj g -> O (Conjoint (COK hk) g) (Conjoint (COK hk) f) ~> Conjoint (COK hk) (O f g) Source Comments # comConUnit :: forall {j :: k} {k0 :: k} (f :: OPK vk j k0). Obj f -> (I :: COK hk j j) ~> O (Conjoint (COK hk) f) (Companion (COK hk) f) Source Comments # comConCounit :: forall {j :: k} {k0 :: k} (f :: OPK vk j k0). Obj f -> O (Companion (COK hk) f) (Conjoint (COK hk) f) ~> (I :: COK hk k k) Source Comments # | |
Equipment hk vk => HasCompanions (COK hk :: k -> k -> Type) (OPK vk :: k -> k -> Type) Source Comments # | |
mapCompanion :: forall {j :: k} {k0 :: k} (f :: OPK vk j k0) (g :: OPK vk j k0). (f ~> g) -> Companion (COK hk) f ~> Companion (COK hk) g Source Comments # compToId :: forall (k0 :: k). Ob0 (OPK vk) k0 => Companion (COK hk) (I :: OPK vk k k) ~> (I :: COK hk k k) Source Comments # compFromId :: forall (k0 :: k). Ob0 (OPK vk) k0 => (I :: COK hk k k) ~> Companion (COK hk) (I :: OPK vk k k) Source Comments # compToCompose :: forall {i :: k} {j :: k} {k0 :: k} (f :: OPK vk j k0) (g :: OPK vk i j). Obj f -> Obj g -> Companion (COK hk) (O f g) ~> O (Companion (COK hk) f) (Companion (COK hk) g) Source Comments # compFromCompose :: forall {j1 :: k} {j2 :: k} {k0 :: k} (f :: OPK vk j2 k0) (g :: OPK vk j1 j2). Obj f -> Obj g -> O (Companion (COK hk) f) (Companion (COK hk) g) ~> Companion (COK hk) (O f g) Source Comments # |