| 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 Github #
Methods
withCotightAdjoint :: forall {j :: k} {k1 :: k} (f :: kk j k1) r. IsTight f => ((Adjunction_ f (CotightAdjoint f), IsCotight (CotightAdjoint f)) => r) -> r Source Github #
withTightAdjoint :: forall {j :: k} {k1 :: k} (f :: kk j k1) r. IsCotight f => ((Adjunction_ (TightAdjoint f) f, IsTight (TightAdjoint f)) => r) -> r Source Github #
Instances
type family TightAdjoint (p :: kk j i) :: kk i j Source Github #
Instances
| type TightAdjoint (p :: PROFK k j) Source Github # | |
Defined in Proarrow.Category.Bicategory.Prof | |
| type TightAdjoint ('AK ps :: ADJK j i) Source Github # | |
Defined in Proarrow.Category.Bicategory.Adj | |
| type TightAdjoint (a :: MonK k i j) Source Github # | |
Defined in Proarrow.Category.Bicategory.MonoidalAsBi | |
| type TightAdjoint (p :: STT' k i j) Source Github # | |
Defined in Proarrow.Category.Equipment.Stateful type TightAdjoint (p :: STT' k i j) = 'ST (WithWriter (UN ('ST :: (k +-> k) -> STT' k i j) p)) :: STT' k j i | |
| type TightAdjoint (p :: COK kk k2 j) Source Github # | |
Defined in Proarrow.Category.Bicategory.Co | |
| type TightAdjoint (p :: OPK kk k2 j) Source Github # | |
Defined in Proarrow.Category.Bicategory.Op | |
| type TightAdjoint (p :: PRODK jj kk j k3) Source Github # | |
Defined in Proarrow.Category.Bicategory.Product type TightAdjoint (p :: PRODK jj kk j k3) = 'PROD (TightAdjoint (PRODFST p)) (TightAdjoint (PRODSND p)) :: PRODK jj kk k3 j | |
type family CotightAdjoint (p :: kk j i) :: kk i j Source Github #
Instances
| type CotightAdjoint (p :: PROFK k j) Source Github # | |
Defined in Proarrow.Category.Bicategory.Prof | |
| type CotightAdjoint ('AK ps :: ADJK j i) Source Github # | |
Defined in Proarrow.Category.Bicategory.Adj | |
| type CotightAdjoint (a :: MonK k i j) Source Github # | |
Defined in Proarrow.Category.Bicategory.MonoidalAsBi | |
| type CotightAdjoint (p :: STT' k i j) Source Github # | |
Defined in Proarrow.Category.Equipment.Stateful type CotightAdjoint (p :: STT' k i j) = 'ST (WithReader (UN ('ST :: (k +-> k) -> STT' k i j) p)) :: STT' k j i | |
| type CotightAdjoint (p :: COK kk k2 j) Source Github # | |
Defined in Proarrow.Category.Bicategory.Co | |
| type CotightAdjoint (p :: OPK kk k2 j) Source Github # | |
Defined in Proarrow.Category.Bicategory.Op | |
| type CotightAdjoint (p :: PRODK jj kk j k3) Source Github # | |
Defined in Proarrow.Category.Bicategory.Product type CotightAdjoint (p :: PRODK jj kk j k3) = 'PROD (CotightAdjoint (PRODFST p)) (CotightAdjoint (PRODSND p)) :: PRODK jj kk k3 j | |
Instances
| HasBinaryProducts FUNK Source Github # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof Associated Types
Methods fstObj :: (Ob0 FUNK a, Ob0 FUNK b) => Obj (Fst FUNK a b) Source Github # sndObj :: (Ob0 FUNK a, Ob0 FUNK b) => Obj (Snd FUNK a b) Source Github # 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 Github # 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 Github # | |||||||||||||
| HasTerminalObject FUNK Source Github # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| WithObO2 Tight ADJK Source Github # | |||||||||||||
| WithObO2 Tight PROFK Source Github # | |||||||||||||
| Monoidal k => WithObO2 Tight (MonK k :: () -> () -> Type) Source Github # | |||||||||||||
| SymMonoidal k => WithObO2 Tight (STT' k :: () -> () -> Type) Source Github # | |||||||||||||
| WithObO2 Cotight kk => WithObO2 Tight (COK kk :: s -> s -> Type) Source Github # | |||||||||||||
| WithObO2 Cotight kk => WithObO2 Tight (OPK kk :: s -> s -> Type) Source Github # | |||||||||||||
| Monoidal (BI FUNK) Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun Associated Types
Methods withOb2 :: forall (a :: BI FUNK) (b :: BI FUNK) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Github # leftUnitor :: forall (a :: BI FUNK). Ob a => ((Unit :: BI FUNK) ** a) ~> a Source Github # leftUnitorInv :: forall (a :: BI FUNK). Ob a => a ~> ((Unit :: BI FUNK) ** a) Source Github # rightUnitor :: forall (a :: BI FUNK). Ob a => (a ** (Unit :: BI FUNK)) ~> a Source Github # rightUnitorInv :: forall (a :: BI FUNK). Ob a => a ~> (a ** (Unit :: BI FUNK)) Source Github # associator :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Github # associatorInv :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Github # | |||||||||||||
| SymMonoidal (BI FUNK) Source Github # | |||||||||||||
| Closed (BI FUNK) Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun Methods withObExp :: forall (a :: BI FUNK) (b :: BI FUNK) r. (Ob a, Ob b) => (Ob (a ~~> b) => r) -> r Source Github # curry :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b) => ((a ** b) ~> c) -> a ~> (b ~~> c) Source Github # apply :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => ((a ~~> b) ** a) ~> b Source Github # (^^^) :: forall (a :: BI FUNK) (b :: BI FUNK) (x :: BI FUNK) (y :: BI FUNK). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Github # | |||||||||||||
| Distributive (BI FUNK) Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun Methods distL :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b, Ob c) => (a ** (b || c)) ~> ((a ** b) || (a ** c)) Source Github # distR :: forall (a :: BI FUNK) (b :: BI FUNK) (c :: BI FUNK). (Ob a, Ob b, Ob c) => ((a || b) ** c) ~> ((a ** c) || (b ** c)) Source Github # absorbL :: forall (a :: BI FUNK). Ob a => (a ** (InitialObject :: BI FUNK)) ~> (InitialObject :: BI FUNK) Source Github # absorbR :: forall (a :: BI FUNK). Ob a => ((InitialObject :: BI FUNK) ** a) ~> (InitialObject :: BI FUNK) Source Github # | |||||||||||||
| HasBinaryCoproducts (BI FUNK) Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun Methods withObCoprod :: forall (a :: BI FUNK) (b :: BI FUNK) r. (Ob a, Ob b) => (Ob (a || b) => r) -> r Source Github # lft :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => a ~> (a || b) Source Github # rgt :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => b ~> (a || b) Source Github # (|||) :: forall (x :: BI FUNK) (a :: BI FUNK) (y :: BI FUNK). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Github # (+++) :: forall (a :: BI FUNK) (b :: BI FUNK) (x :: BI FUNK) (y :: BI FUNK). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Github # | |||||||||||||
| HasInitialObject (BI FUNK) Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun Associated Types
| |||||||||||||
| HasBinaryProducts (BI FUNK) Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun Methods withObProd :: forall (a :: BI FUNK) (b :: BI FUNK) r. (Ob a, Ob b) => (Ob (a && b) => r) -> r Source Github # fst :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => (a && b) ~> a Source Github # snd :: forall (a :: BI FUNK) (b :: BI FUNK). (Ob a, Ob b) => (a && b) ~> b Source Github # (&&&) :: forall (a :: BI FUNK) (x :: BI FUNK) (y :: BI FUNK). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Github # (***) :: forall (a :: BI FUNK) (b :: BI FUNK) (x :: BI FUNK) (y :: BI FUNK). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Github # | |||||||||||||
| HasTerminalObject (BI FUNK) Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun Associated Types
| |||||||||||||
| (WithObO2 Tight jj, WithObO2 Tight kk) => WithObO2 Tight (PRODK jj kk :: (j, k) -> (j, k) -> Type) Source Github # | |||||||||||||
| MonoidalProfunctor (Bi :: BI FUNK -> BI FUNK -> Type) Source Github # | |||||||||||||
| Bicategory kk => EnrichedProfunctor (BI FUNK) (Bi :: BI kk -> BI kk -> Type) Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun Methods withProObj :: forall (a :: BI kk) (b :: BI kk) r. (Ob a, Ob b) => (Ob (ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) => r) -> r Source Github # underlying :: forall (a :: BI kk) (b :: BI kk). Bi a b -> (Unit :: BI FUNK) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b Source Github # enriched :: forall (a :: BI kk) (b :: BI kk). (Ob a, Ob b) => ((Unit :: BI FUNK) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) -> Bi a b Source Github # rmap :: forall (a :: BI kk) (b :: BI kk) (c :: BI kk). (Ob a, Ob b, Ob c) => (HomObj (BI FUNK) b c ** ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a c Source Github # lmap :: forall (a :: BI kk) (b :: BI kk) (c :: BI kk). (Ob a, Ob b, Ob c) => (HomObj (BI FUNK) c a ** ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) a b) ~> ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) c b Source Github # | |||||||||||||
| (Bicategory kk, Ob0 kk h, Ob0 kk i, Ob0 kk j, Ob0 kk k) => Profunctor (Sq' :: (kk j h, SUBCAT Tight kk h i) -> (kk k i, SUBCAT Tight kk j k) -> Type) Source Github # | |||||||||||||
Defined in Proarrow.Squares Methods dimap :: forall (c0 :: (kk j h, SUBCAT Tight kk h i)) (a :: (kk j h, SUBCAT Tight kk h i)) (b :: (kk k i, SUBCAT Tight kk j k)) (d :: (kk k i, SUBCAT Tight kk j k)). (c0 ~> a) -> (b ~> d) -> Sq' a b -> Sq' c0 d Source Github # lmap :: forall (c0 :: (kk j h, SUBCAT Tight kk h i)) (a :: (kk j h, SUBCAT Tight kk h i)) (b :: (kk k i, SUBCAT Tight kk j k)). (c0 ~> a) -> Sq' a b -> Sq' c0 b Source Github # rmap :: forall (b :: (kk k i, SUBCAT Tight kk j k)) (d :: (kk k i, SUBCAT Tight kk j k)) (a :: (kk j h, SUBCAT Tight kk h i)). (b ~> d) -> Sq' a b -> Sq' a d Source Github # (\\) :: forall (a :: (kk j h, SUBCAT Tight kk h i)) (b :: (kk k i, SUBCAT Tight kk j k)) r. ((Ob a, Ob b) => r) -> Sq' a b -> r Source Github # | |||||||||||||
| type TerminalObject FUNK Source Github # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type Terminate FUNK (j :: Type) Source Github # | |||||||||||||
| type IsOb0 Tight (k2 :: k1) Source Github # | |||||||||||||
Defined in Proarrow.Category.Equipment | |||||||||||||
| type Fst FUNK (a :: Type) (b :: Type) Source Github # | |||||||||||||
| type Product FUNK (a :: Type) (b :: Type) Source Github # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type Snd FUNK (a :: Type) (b :: Type) Source Github # | |||||||||||||
| type IsOb Tight (p :: PROFK j k) Source Github # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type IsOb Tight ('AK ps :: ADJK i j) Source Github # | |||||||||||||
| type IsOb Tight (p :: STT' k i j) Source Github # | |||||||||||||
| type IsOb Tight ('MK a :: MonK k i j) Source Github # | |||||||||||||
Defined in Proarrow.Category.Bicategory.MonoidalAsBi | |||||||||||||
| type IsOb Tight (p :: COK kk i j) Source Github # | |||||||||||||
| type IsOb Tight (p :: OPK kk j i) Source Github # | |||||||||||||
| type (f :: SUBCAT Tight PROFK i k1) &&& (g :: SUBCAT Tight PROFK i k2) Source Github # | |||||||||||||
| type Unit Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun | |||||||||||||
| type InitialObject Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun | |||||||||||||
| type TerminalObject Source Github # | |||||||||||||
Defined in Proarrow.Category.Instance.CatFun | |||||||||||||
| type (j :: BI FUNK) ** (k :: BI FUNK) Source Github # | |||||||||||||
| type (l :: BI FUNK) && (r :: BI FUNK) Source Github # | |||||||||||||
| type ProObj (BI FUNK) (Bi :: BI kk -> BI kk -> Type) ('B j :: BI kk) ('B k :: BI kk) Source Github # | |||||||||||||
| type IsOb Tight (p :: PRODK jj kk j k3) Source Github # | |||||||||||||
| type ('B j :: BI FUNK) ~~> ('B k :: BI FUNK) Source Github # | |||||||||||||
| type ('B l :: BI FUNK) || ('B r :: BI FUNK) Source Github # | |||||||||||||
Instances
type family IsOb tag (a :: kk i j) Source Github #
Instances
class WithObO2 tag (kk :: s -> s -> Type) where Source Github #
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 Github #
Instances
class (IsTight f, IsCotight g, Adjunction f g) => TightPair (f :: kk c d) (g :: kk d c) Source Github #
Instances
| (IsTight f, IsCotight g, Adjunction f g) => TightPair (f :: kk c d) (g :: kk d c) Source Github # | |
Defined in Proarrow.Category.Equipment | |