proarrow-0: Category theory with a central role for profunctors
Safe HaskellNone
LanguageHaskell2010

Proarrow.Category.Bicategory.CategoryAsBi

Documentation

data PLAINK k (i :: k) (j :: k) Source Comments #

Constructors

PLAIN 

Instances

Instances details
CategoryOf k => Bicategory (PLAINK k :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

iObj :: forall (i :: k). Ob0 (PLAINK k) i => Obj (I :: PLAINK k i i) Source Comments #

o :: forall {i :: k} (j :: k) (k0 :: k) (a :: PLAINK k j k0) (b :: PLAINK k j k0) (c :: PLAINK k i j) (d :: PLAINK k i j). (a ~> b) -> (c ~> d) -> O a c ~> O b d Source Comments #

(\\\) :: forall (i :: k) (j :: k) (ps :: PLAINK k i j) (qs :: PLAINK k i j) r. ((Ob0 (PLAINK k) i, Ob0 (PLAINK k) j, Ob ps, Ob qs) => r) -> (ps ~> qs) -> r Source Comments #

leftUnitor :: forall {i :: k} {j :: k} (a :: PLAINK k i j). (Ob0 (PLAINK k) i, Ob0 (PLAINK k) j, Ob a) => O (I :: PLAINK k j j) a ~> a Source Comments #

leftUnitorInv :: forall {i :: k} {j :: k} (a :: PLAINK k i j). (Ob0 (PLAINK k) i, Ob0 (PLAINK k) j, Ob a) => a ~> O (I :: PLAINK k j j) a Source Comments #

rightUnitor :: forall {i :: k} {j :: k} (a :: PLAINK k i j). (Ob0 (PLAINK k) i, Ob0 (PLAINK k) j, Ob a) => O a (I :: PLAINK k i i) ~> a Source Comments #

rightUnitorInv :: forall {i :: k} {j :: k} (a :: PLAINK k i j). (Ob0 (PLAINK k) i, Ob0 (PLAINK k) j, Ob a) => a ~> O a (I :: PLAINK k i i) Source Comments #

associator :: forall {h :: k} {i :: k} {j :: k} {k0 :: k} (a :: PLAINK k j k0) (b :: PLAINK k i j) (c :: PLAINK k h i). (Ob0 (PLAINK k) h, Ob0 (PLAINK k) i, Ob0 (PLAINK k) j, Ob0 (PLAINK k) k0, Ob a, Ob b, Ob c) => O (O a b) c ~> O a (O b c) Source Comments #

associatorInv :: forall {h :: k} {i :: k} {j :: k} {k0 :: k} (a :: PLAINK k j k0) (b :: PLAINK k i j) (c :: PLAINK k h i). (Ob0 (PLAINK k) h, Ob0 (PLAINK k) i, Ob0 (PLAINK k) j, Ob0 (PLAINK k) k0, Ob a, Ob b, Ob c) => O a (O b c) ~> O (O a b) c Source Comments #

(CategoryOf k, Ob i, Ob j) => CategoryOf (PLAINK k i j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Associated Types

type (~>) 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type (~>) = Category :: PLAINK k i j -> PLAINK k i j -> Type
(CategoryOf k, Ob i, Ob j) => Promonad (Category :: PLAINK k i j -> PLAINK k i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

id :: forall (a :: PLAINK k i j). Ob a => Category a a Source Comments #

(.) :: forall (b :: PLAINK k i j) (c :: PLAINK k i j) (a :: PLAINK k i j). Category b c -> Category a b -> Category a c Source Comments #

(CategoryOf k, Ob i, Ob j) => Profunctor (Category :: PLAINK k i j -> PLAINK k i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

dimap :: forall (c :: PLAINK k i j) (a :: PLAINK k i j) (b :: PLAINK k i j) (d :: PLAINK k i j). (c ~> a) -> (b ~> d) -> Category a b -> Category c d Source Comments #

(\\) :: forall (a :: PLAINK k i j) (b :: PLAINK k i j) r. ((Ob a, Ob b) => r) -> Category a b -> r Source Comments #

type Ob0 (PLAINK k2 :: k2 -> k2 -> Type) (a :: k1) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type Ob0 (PLAINK k2 :: k2 -> k2 -> Type) (a :: k1) = Ob a
type I Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type I = 'PLAIN :: PLAINK k i i
type O ('PLAIN :: PLAINK k1 j k2) ('PLAIN :: PLAINK k1 i j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type O ('PLAIN :: PLAINK k1 j k2) ('PLAIN :: PLAINK k1 i j) = 'PLAIN :: PLAINK k1 i k2
type (~>) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type (~>) = Category :: PLAINK k i j -> PLAINK k i j -> Type
type Ob (a :: PLAINK k i j) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

type Ob (a :: PLAINK k i j) = a ~ ('PLAIN :: PLAINK k i j)

data Category (as :: PLAINK k i j) (bs :: PLAINK k i j) where Source Comments #

Constructors

Id :: forall {k} (i :: k) (j :: k). (Ob i, Ob j) => Maybe (i ~> j) -> Category ('PLAIN :: PLAINK k i j) ('PLAIN :: PLAINK k i j) 

Instances

Instances details
(CategoryOf k, Ob i, Ob j) => Promonad (Category :: PLAINK k i j -> PLAINK k i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

id :: forall (a :: PLAINK k i j). Ob a => Category a a Source Comments #

(.) :: forall (b :: PLAINK k i j) (c :: PLAINK k i j) (a :: PLAINK k i j). Category b c -> Category a b -> Category a c Source Comments #

(CategoryOf k, Ob i, Ob j) => Profunctor (Category :: PLAINK k i j -> PLAINK k i j -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Bicategory.CategoryAsBi

Methods

dimap :: forall (c :: PLAINK k i j) (a :: PLAINK k i j) (b :: PLAINK k i j) (d :: PLAINK k i j). (c ~> a) -> (b ~> d) -> Category a b -> Category c d Source Comments #

(\\) :: forall (a :: PLAINK k i j) (b :: PLAINK k i j) r. ((Ob a, Ob b) => r) -> Category a b -> r Source Comments #