Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Squares.Relative
Synopsis
- unit :: forall {k} {hk :: CAT k} {vk :: k -> k -> Type} {a :: k} {e :: k} {j :: vk a e} {t :: vk a e}. (Equipment hk vk, Monad (Conjoint hk j) (Companion hk t), Ob0 vk a, Ob0 vk e, Ob t, Ob j) => Sq '('Nil :: Path hk a a, 'Nil :: Path vk a a) '(Companion hk t '::: (Conjoint hk j '::: ('Nil :: Path hk a a)), 'Nil :: Path vk a a)
- mult :: forall {k} {hk :: CAT k} {vk :: k -> k -> Type} {a :: k} {e :: k} {j :: vk a e} {t :: vk a e}. (Equipment hk vk, Monad (Conjoint hk j) (Companion hk t), Ob0 vk a, Ob0 vk e, Ob t, Ob j) => Sq '(Companion hk t '::: (Conjoint hk j '::: (Companion hk t '::: ('Nil :: Path hk e e))), 'Nil :: Path vk e e) '(Companion hk t '::: ('Nil :: Path hk e e), 'Nil :: Path vk a a)
- leftAdjunct :: forall {k} {hk :: CAT k} {vk :: k -> k -> Type} {a :: k} {c :: k} {e :: k} {j :: vk a e} {l :: vk a c} {r :: vk c e}. (Equipment hk vk, Adjunction (Conjoint hk j) (Companion hk l) (Companion hk r), Ob0 vk a, Ob0 vk c, Ob0 vk e, Ob j, Ob l, Ob r) => Sq '(Conjoint hk l '::: ('Nil :: Path hk a a), 'Nil :: Path vk a a) '(Companion hk r '::: (Conjoint hk j '::: ('Nil :: Path hk a a)), 'Nil :: Path vk c c)
- rightAdjunct :: forall {k} {hk :: CAT k} {vk :: k -> k -> Type} {a :: k} {c :: k} {e :: k} {j :: vk a e} {l :: vk a c} {r :: vk c e}. (Equipment hk vk, Adjunction (Conjoint hk j) (Companion hk l) (Companion hk r), Ob0 vk a, Ob0 vk c, Ob0 vk e, Ob j, Ob l, Ob r) => Sq '(Companion hk r '::: (Conjoint hk j '::: ('Nil :: Path hk a a)), 'Nil :: Path vk a a) '(Conjoint hk l '::: ('Nil :: Path hk a a), 'Nil :: Path vk c c)
Documentation
unit :: forall {k} {hk :: CAT k} {vk :: k -> k -> Type} {a :: k} {e :: k} {j :: vk a e} {t :: vk a e}. (Equipment hk vk, Monad (Conjoint hk j) (Companion hk t), Ob0 vk a, Ob0 vk e, Ob t, Ob j) => Sq '('Nil :: Path hk a a, 'Nil :: Path vk a a) '(Companion hk t '::: (Conjoint hk j '::: ('Nil :: Path hk a a)), 'Nil :: Path vk a a) Source Comments #
The unit square for a j
-relative monad t
.
A-----A | /-<j | @ | | \->t A-----A
mult :: forall {k} {hk :: CAT k} {vk :: k -> k -> Type} {a :: k} {e :: k} {j :: vk a e} {t :: vk a e}. (Equipment hk vk, Monad (Conjoint hk j) (Companion hk t), Ob0 vk a, Ob0 vk e, Ob t, Ob j) => Sq '(Companion hk t '::: (Conjoint hk j '::: (Companion hk t '::: ('Nil :: Path hk e e))), 'Nil :: Path vk e e) '(Companion hk t '::: ('Nil :: Path hk e e), 'Nil :: Path vk a a) Source Comments #
The multiplication square for a j
-relative monad t
.
E-----E t>-\ | j<-@->t t>-/ | A-----A
leftAdjunct :: forall {k} {hk :: CAT k} {vk :: k -> k -> Type} {a :: k} {c :: k} {e :: k} {j :: vk a e} {l :: vk a c} {r :: vk c e}. (Equipment hk vk, Adjunction (Conjoint hk j) (Companion hk l) (Companion hk r), Ob0 vk a, Ob0 vk c, Ob0 vk e, Ob j, Ob l, Ob r) => Sq '(Conjoint hk l '::: ('Nil :: Path hk a a), 'Nil :: Path vk a a) '(Companion hk r '::: (Conjoint hk j '::: ('Nil :: Path hk a a)), 'Nil :: Path vk c c) Source Comments #
j
-relative adjunction
A-----A | /-<j l<-@ | | \->r C-----C
rightAdjunct :: forall {k} {hk :: CAT k} {vk :: k -> k -> Type} {a :: k} {c :: k} {e :: k} {j :: vk a e} {l :: vk a c} {r :: vk c e}. (Equipment hk vk, Adjunction (Conjoint hk j) (Companion hk l) (Companion hk r), Ob0 vk a, Ob0 vk c, Ob0 vk e, Ob j, Ob l, Ob r) => Sq '(Companion hk r '::: (Conjoint hk j '::: ('Nil :: Path hk a a)), 'Nil :: Path vk a a) '(Conjoint hk l '::: ('Nil :: Path hk a a), 'Nil :: Path vk c c) Source Comments #
j
-relative adjunction, other direction
A-----A j<-\ | | @<-l r->/ | C-----C