Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Category.Bicategory.Limit
Documentation
type family TerminalObject (kk :: CAT s) :: s Source Comments #
Instances
type TerminalObject FUNK Source Comments # | |
Defined in Proarrow.Category.Bicategory.Prof |
class HasTerminalObject (kk :: CAT s) where Source Comments #
Methods
terminate :: forall (j :: s). Ob0 kk j => Obj (Terminate kk j) Source Comments #
termUniv :: forall (j :: s) (f :: kk j (TerminalObject kk)) (g :: kk j (TerminalObject kk)). (Ob0 kk j, Ob f, Ob g) => f ~> g Source Comments #
Instances
HasTerminalObject FUNK Source Comments # | |
Defined in Proarrow.Category.Bicategory.Prof |
class HasBinaryProducts (kk :: CAT s) where Source Comments #
Associated Types
type Fst (kk :: CAT s) (a :: s) (b :: s) :: kk (Product kk a b) a Source Comments #
type Snd (kk :: CAT s) (a :: s) (b :: s) :: kk (Product kk a b) b Source Comments #
type (f :: kk j a) &&& (g :: kk j b) :: kk j (Product kk a b) Source Comments #
Methods
fstObj :: forall (a :: s) (b :: s). (Ob0 kk a, Ob0 kk b) => Obj (Fst kk a b) Source Comments #
sndObj :: forall (a :: s) (b :: s). (Ob0 kk a, Ob0 kk b) => Obj (Snd kk a b) Source Comments #
prodObj :: forall (j :: s) (a :: s) (b :: s) (f :: kk j a) (g :: kk j b). (Ob0 kk j, Ob0 kk a, Ob0 kk b, Ob f, Ob g) => Obj (f &&& g) Source Comments #
prodUniv :: forall (j :: s) (a :: s) (b :: s) (h :: kk j (Product kk a b)) (k :: kk j (Product kk a b)). (Ob0 kk j, Ob0 kk a, Ob0 kk b, Ob h, Ob k) => (O (Fst kk a b) h ~> O (Fst kk a b) k) -> (O (Snd kk a b) h ~> O (Snd kk a b) k) -> h ~> k Source Comments #
Instances
HasBinaryProducts FUNK Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof Associated Types
Methods fstObj :: (Ob0 FUNK a, Ob0 FUNK b) => Obj (Fst FUNK a b) Source Comments # sndObj :: (Ob0 FUNK a, Ob0 FUNK b) => Obj (Snd FUNK a b) Source Comments # prodObj :: forall j a b (f :: FUNK j a) (g :: FUNK j b). (Ob0 FUNK j, Ob0 FUNK a, Ob0 FUNK b, Ob f, Ob g) => Obj (f &&& g) Source Comments # prodUniv :: forall j a b (h :: FUNK j (Product FUNK a b)) (k :: FUNK j (Product FUNK a b)). (Ob0 FUNK j, Ob0 FUNK a, Ob0 FUNK b, Ob h, Ob k) => (O (Fst FUNK a b) h ~> O (Fst FUNK a b) k) -> (O (Snd FUNK a b) h ~> O (Snd FUNK a b) k) -> h ~> k Source Comments # |