| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Equipment
Documentation
class (Bicategory kk, Bicategory (SUBCAT Tight kk), Bicategory (SUBCAT Cotight kk), WithObO2 Cotight kk, WithObO2 Tight kk) => Equipment (kk :: CAT k) where Source Comments #
Methods
withCotightAdjoint :: forall {j :: k} {k1 :: k} (f :: kk j k1) r. IsTight f => ((Adjunction_ f (CotightAdjoint f), IsCotight (CotightAdjoint f)) => r) -> r Source Comments #
withTightAdjoint :: forall {j :: k} {k1 :: k} (f :: kk j k1) r. IsCotight f => ((Adjunction_ (TightAdjoint f) f, IsTight (TightAdjoint f)) => r) -> r Source Comments #
Instances
type family TightAdjoint (p :: kk j i) :: kk i j Source Comments #
Instances
| type TightAdjoint (p :: PROFK k j) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Prof | |
| type TightAdjoint ('AK ps :: ADJK j i) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Adj | |
| type TightAdjoint (a :: MonK k i j) Source Comments # | |
Defined in Proarrow.Category.Bicategory.MonoidalAsBi | |
| type TightAdjoint (p :: STT' m k i j) Source Comments # | |
Defined in Proarrow.Category.Equipment.Stateful type TightAdjoint (p :: STT' m k i j) = 'ST (WithWriter m (UN ('ST :: (k +-> k) -> STT' m k i j) p)) :: STT' m k j i | |
| type TightAdjoint (p :: COK kk k2 j) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Co | |
| type TightAdjoint (p :: OPK kk k2 j) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op | |
| type TightAdjoint (p :: PRODK jj kk j2 k2) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Product type TightAdjoint (p :: PRODK jj kk j2 k2) = 'PROD (TightAdjoint (PRODFST p)) (TightAdjoint (PRODSND p)) :: PRODK jj kk k2 j2 | |
type family CotightAdjoint (p :: kk j i) :: kk i j Source Comments #
Instances
| type CotightAdjoint (p :: PROFK k j) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Prof | |
| type CotightAdjoint ('AK ps :: ADJK j i) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Adj | |
| type CotightAdjoint (a :: MonK k i j) Source Comments # | |
Defined in Proarrow.Category.Bicategory.MonoidalAsBi | |
| type CotightAdjoint (p :: STT' m k i j) Source Comments # | |
Defined in Proarrow.Category.Equipment.Stateful type CotightAdjoint (p :: STT' m k i j) = 'ST (WithReader m (UN ('ST :: (k +-> k) -> STT' m k i j) p)) :: STT' m k j i | |
| type CotightAdjoint (p :: COK kk k2 j) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Co | |
| type CotightAdjoint (p :: OPK kk k2 j) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Op | |
| type CotightAdjoint (p :: PRODK jj kk j2 k2) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Product type CotightAdjoint (p :: PRODK jj kk j2 k2) = 'PROD (CotightAdjoint (PRODFST p)) (CotightAdjoint (PRODSND p)) :: PRODK jj kk k2 j2 | |
Instances
data Cotight Source Comments #
Instances
type family IsOb tag (a :: kk i j) Source Comments #
Instances
class WithObO2 tag (kk :: s -> s -> Type) where Source Comments #
Methods
withObO2 :: forall {i :: s} {j :: s} {k :: s} (a :: kk j k) (b :: kk i j) r. (Ob a, Ob b, IsOb tag a, IsOb tag b) => ((IsOb tag (O a b), Ob (O a b)) => r) -> r Source Comments #
Instances
class (IsTight f, IsCotight g, Adjunction f g) => TightPair (f :: kk c d) (g :: kk d c) Source Comments #
Instances
| (IsTight f, IsCotight g, Adjunction f g) => TightPair (f :: kk c d) (g :: kk d c) Source Comments # | |
Defined in Proarrow.Category.Equipment | |