| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Bicategory.Sub
Documentation
type family IsOb tag (a :: kk i j) Source Comments #
Instances
data SUBCAT tag (kk :: CAT s) (i :: s) (j :: s) Source Comments #
Constructors
| SUB (kk i j) |
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 # | |||||||||||||
| HasTerminalObject FUNK Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| (Bicategory kk, forall (i :: s). Ob0 kk i => IsObI tag kk i, WithObO2 tag kk) => Bicategory (SUBCAT tag kk :: s -> s -> Type) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Sub Methods o :: forall {i :: s} (j :: s) (k :: s) (a :: SUBCAT tag kk j k) (b :: SUBCAT tag kk j k) (c :: SUBCAT tag kk i j) (d :: SUBCAT tag kk i j). (a ~> b) -> (c ~> d) -> O a c ~> O b d Source Comments # withOb2 :: forall {i :: s} {j :: s} {k :: s} (a :: SUBCAT tag kk j k) (b :: SUBCAT tag kk i j) r. (Ob a, Ob b, Ob0 (SUBCAT tag kk) i, Ob0 (SUBCAT tag kk) j, Ob0 (SUBCAT tag kk) k) => (Ob (O a b) => r) -> r Source Comments # withOb0s :: forall {j :: s} {k :: s} (a :: SUBCAT tag kk j k) r. Ob a => ((Ob0 (SUBCAT tag kk) j, Ob0 (SUBCAT tag kk) k) => r) -> r Source Comments # (\\\) :: forall (i :: s) (j :: s) (ps :: SUBCAT tag kk i j) (qs :: SUBCAT tag kk i j) r. ((Ob0 (SUBCAT tag kk) i, Ob0 (SUBCAT tag kk) j, Ob ps, Ob qs) => r) -> (ps ~> qs) -> r Source Comments # leftUnitor :: forall {i :: s} {j :: s} (a :: SUBCAT tag kk i j). (Ob0 (SUBCAT tag kk) i, Ob0 (SUBCAT tag kk) j, Ob a) => O (I :: SUBCAT tag kk j j) a ~> a Source Comments # leftUnitorInv :: forall {i :: s} {j :: s} (a :: SUBCAT tag kk i j). (Ob0 (SUBCAT tag kk) i, Ob0 (SUBCAT tag kk) j, Ob a) => a ~> O (I :: SUBCAT tag kk j j) a Source Comments # rightUnitor :: forall {i :: s} {j :: s} (a :: SUBCAT tag kk i j). (Ob0 (SUBCAT tag kk) i, Ob0 (SUBCAT tag kk) j, Ob a) => O a (I :: SUBCAT tag kk i i) ~> a Source Comments # rightUnitorInv :: forall {i :: s} {j :: s} (a :: SUBCAT tag kk i j). (Ob0 (SUBCAT tag kk) i, Ob0 (SUBCAT tag kk) j, Ob a) => a ~> O a (I :: SUBCAT tag kk i i) Source Comments # associator :: forall {h :: s} {i :: s} {j :: s} {k :: s} (a :: SUBCAT tag kk j k) (b :: SUBCAT tag kk i j) (c :: SUBCAT tag kk h i). (Ob0 (SUBCAT tag kk) h, Ob0 (SUBCAT tag kk) i, Ob0 (SUBCAT tag kk) j, Ob0 (SUBCAT tag kk) k, Ob a, Ob b, Ob c) => O (O a b) c ~> O a (O b c) Source Comments # associatorInv :: forall {h :: s} {i :: s} {j :: s} {k :: s} (a :: SUBCAT tag kk j k) (b :: SUBCAT tag kk i j) (c :: SUBCAT tag kk h i). (Ob0 (SUBCAT tag kk) h, Ob0 (SUBCAT tag kk) i, Ob0 (SUBCAT tag kk) j, Ob0 (SUBCAT tag kk) k, Ob a, Ob b, Ob c) => O a (O b c) ~> O (O a b) c Source Comments # | |||||||||||||
| (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 Comments # | |||||||||||||
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 Comments # (\\) :: 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 Comments # | |||||||||||||
| CategoryOf (kk i j) => CategoryOf (SUBCAT tag kk i j) Source Comments # | The subcategory with objects with instances of the given constraint `IsOb tag`. | ||||||||||||
Defined in Proarrow.Category.Bicategory.Sub | |||||||||||||
| Promonad ((~>) :: CAT (kk i j)) => Promonad (Sub :: SUBCAT tag kk i j -> SUBCAT tag kk i j -> Type) Source Comments # | |||||||||||||
| Profunctor ((~>) :: CAT (kk i j)) => Profunctor (Sub :: SUBCAT tag kk i j -> SUBCAT tag kk i j -> Type) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Sub Methods dimap :: forall (c :: SUBCAT tag kk i j) (a :: SUBCAT tag kk i j) (b :: SUBCAT tag kk i j) (d :: SUBCAT tag kk i j). (c ~> a) -> (b ~> d) -> Sub a b -> Sub c d Source Comments # (\\) :: forall (a :: SUBCAT tag kk i j) (b :: SUBCAT tag kk i j) r. ((Ob a, Ob b) => r) -> Sub a b -> r Source Comments # | |||||||||||||
| type TerminalObject FUNK Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type Terminate FUNK (j :: Type) Source Comments # | |||||||||||||
| type Fst FUNK (a :: Type) (b :: Type) Source Comments # | |||||||||||||
| type Product FUNK (a :: Type) (b :: Type) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Prof | |||||||||||||
| type Snd FUNK (a :: Type) (b :: Type) Source Comments # | |||||||||||||
| type Ob0 (SUBCAT tag kk :: s2 -> s2 -> Type) (k :: s1) Source Comments # | |||||||||||||
| type I Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Sub | |||||||||||||
| type O (p :: SUBCAT tag kk j1 j2) (q :: SUBCAT tag kk i j1) Source Comments # | |||||||||||||
| type (f :: SUBCAT ProfRep PROFK i1 i2) &&& (g :: SUBCAT ProfRep PROFK i1 j) Source Comments # | |||||||||||||
| type UN ('SUB :: kk i j -> SUBCAT tag kk i j) ('SUB p :: SUBCAT tag kk i j) Source Comments # | |||||||||||||
| type (~>) Source Comments # | |||||||||||||
| type Ob (a :: SUBCAT tag kk i j) Source Comments # | |||||||||||||
data Sub (a :: SUBCAT ob kk i j) (b :: SUBCAT ob kk i j) where Source Comments #
Constructors
| Sub :: forall {s} {i :: s} {j :: s} {ob} {kk :: CAT s} (a1 :: kk i j) (b1 :: kk i j). (IsOb ob a1, IsOb ob b1, IsOb0 ob i, IsOb0 ob j) => (a1 ~> b1) -> Sub ('SUB a1 :: SUBCAT ob kk i j) ('SUB b1 :: SUBCAT ob kk i j) |
Instances
| Promonad ((~>) :: CAT (kk i j)) => Promonad (Sub :: SUBCAT tag kk i j -> SUBCAT tag kk i j -> Type) Source Comments # | |
| Profunctor ((~>) :: CAT (kk i j)) => Profunctor (Sub :: SUBCAT tag kk i j -> SUBCAT tag kk i j -> Type) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Sub Methods dimap :: forall (c :: SUBCAT tag kk i j) (a :: SUBCAT tag kk i j) (b :: SUBCAT tag kk i j) (d :: SUBCAT tag kk i j). (c ~> a) -> (b ~> d) -> Sub a b -> Sub c d Source Comments # (\\) :: forall (a :: SUBCAT tag kk i j) (b :: SUBCAT tag kk i j) r. ((Ob a, Ob b) => r) -> Sub a b -> r Source Comments # | |
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 #