| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Bicategory.Adj
Synopsis
- data AB
- data ABK (a :: AB) (b :: AB) where
- data ADJK (i :: AB) (j :: AB) = AK (Path ABK i j)
- data Adj (ps :: ADJK i j) (qs :: ADJK i j) where
- AdjNil :: forall {i :: AB}. Adj ('AK ('Nil :: Path ABK i i)) ('AK ('Nil :: Path ABK i i))
- AdjR :: forall {j :: AB} (ps1 :: Path ABK 'A j) (qs1 :: Path ABK 'A j). Adj ('AK ps1) ('AK qs1) -> Adj ('AK ('R '::: ps1)) ('AK ('R '::: qs1))
- AdjL :: forall {j :: AB} (ps1 :: Path ABK 'B j) (qs1 :: Path ABK 'B j). Adj ('AK ps1) ('AK qs1) -> Adj ('AK ('L '::: ps1)) ('AK ('L '::: qs1))
- AdjCup :: forall {j :: AB} (ps1 :: Path ABK 'B j) (qs1 :: ADJK 'B j). Adj ('AK ps1) qs1 -> Adj ('AK ('R '::: ('L '::: ps1))) qs1
- AdjCap :: forall {j :: AB} (ps1 :: ADJK 'A j) (qs1 :: Path ABK 'A j). Adj ps1 ('AK qs1) -> Adj ps1 ('AK ('L '::: ('R '::: qs1)))
- data SAdj (p :: Path ABK i j) where
- class ((ps +++ ('Nil :: Path ABK k k)) ~ ps, forall (i :: AB) (h :: AB) (qs :: Path ABK k h) (rs :: Path ABK h i). Assoc ps qs rs) => IsLRPath (ps :: Path ABK j k) where
- type family RepLR (n :: Nat) :: Path ABK 'A 'A where ...
- fromSimplex :: forall (a :: Nat) (b :: Nat). Simplex a b -> Adj ('AK (RepLR a)) ('AK (RepLR b))
- type family CountLR (ps :: Path ABK 'A 'A) :: Nat where ...
- type family CountLR' (ps :: Path ABK 'B 'A) :: Nat where ...
- toSimplex :: forall (a :: Path ABK 'A 'A) (b :: Path ABK 'A 'A). Adj ('AK a) ('AK b) -> Simplex (CountLR a) (CountLR b)
- type family RepRL (n :: Nat) :: Path ABK 'B 'B where ...
- fromSimplexOp :: forall (b :: Nat) (a :: Nat). Simplex b a -> Adj ('AK (RepRL a)) ('AK (RepRL b))
- type family CountRL (ps :: Path ABK 'B 'B) :: Nat where ...
- type family CountRL' (ps :: Path ABK 'A 'B) :: Nat where ...
- toSimplexOp :: forall (a :: Path ABK 'B 'B) (b :: Path ABK 'B 'B). Adj ('AK a) ('AK b) -> Simplex (CountRL b) (CountRL a)
- data SNilOrL (p :: Path ABK i j) where
- data SNilOrR (p :: Path ABK i j) where
- class (IsLRPath ps, IsCotight (CotightAdj ps), Adjunction_ ('AK ps) ('AK (CotightAdj ps))) => IsTight (ps :: Path ABK i j) where
- class (IsLRPath ps, IsTight (TightAdj ps), Adjunction_ ('AK (TightAdj ps)) ('AK ps)) => IsCotight (ps :: Path ABK i j) where
Documentation
Instances
data ABK (a :: AB) (b :: AB) where Source Comments #
Instances
| Adjunction_ ('AK ('L '::: ('R '::: ('L '::: ('Nil :: Path ABK 'B 'B))))) ('AK ('R '::: ('L '::: ('R '::: ('Nil :: Path ABK 'A 'A))))) Source Comments # | |
| Adjunction_ ('AK ('L '::: ('Nil :: Path ABK 'B 'B))) ('AK ('R '::: ('Nil :: Path ABK 'A 'A))) Source Comments # | |
| Adjunction_ ('AK ('Nil :: Path ABK c c) :: ADJK c c) ('AK ('Nil :: Path ABK c c) :: ADJK c c) Source Comments # | |
| Comonad ('AK ('R '::: ('L '::: ('Nil :: Path ABK 'B 'B)))) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Adj | |
| Monad ('AK ('L '::: ('R '::: ('Nil :: Path ABK 'A 'A)))) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Adj | |
| IsCotight ('Nil :: Path ABK j j) Source Comments # | |
| IsLRPath ('Nil :: Path ABK k k) Source Comments # | |
| IsTight ('Nil :: Path ABK j j) Source Comments # | |
| IsCotight ('R '::: ('Nil :: Path ABK 'A 'A)) Source Comments # | |
| IsLRPath ps => IsLRPath ('L '::: ps :: Path ABK 'A k) Source Comments # | |
| IsLRPath ps => IsLRPath ('R '::: ps :: Path ABK 'B k) Source Comments # | |
| IsTight ('L '::: ('Nil :: Path ABK 'B 'B)) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Adj | |
| type CotightAdj ('Nil :: Path ABK j j) Source Comments # | |
Defined in Proarrow.Category.Bicategory.Adj | |
| type TightAdj ('Nil :: Path ABK j j) Source Comments # | |
| type CotightAdj ('L '::: ('Nil :: Path ABK 'B 'B)) Source Comments # | |
| type TightAdj ('R '::: ('Nil :: Path ABK 'A 'A)) Source Comments # | |
| type UN ('AK :: Path ABK i j -> ADJK i j) ('AK ps :: ADJK i j) Source Comments # | |
data ADJK (i :: AB) (j :: AB) Source Comments #
Instances
| Bicategory ADJK Source Comments # | The walking adjunction | ||||||||||||
Defined in Proarrow.Category.Bicategory.Adj Associated Types
Methods o :: forall {i :: AB} (j :: AB) (k :: AB) (a :: ADJK j k) (b :: ADJK j k) (c :: ADJK i j) (d :: ADJK i j). (a ~> b) -> (c ~> d) -> O a c ~> O b d Source Comments # withOb2 :: forall {i :: AB} {j :: AB} {k :: AB} (a :: ADJK j k) (b :: ADJK i j) r. (Ob a, Ob b, Ob0 ADJK i, Ob0 ADJK j, Ob0 ADJK k) => (Ob (O a b) => r) -> r Source Comments # withOb0s :: forall {j :: AB} {k :: AB} (a :: ADJK j k) r. Ob a => ((Ob0 ADJK j, Ob0 ADJK k) => r) -> r Source Comments # (\\\) :: forall (i :: AB) (j :: AB) (ps :: ADJK i j) (qs :: ADJK i j) r. ((Ob0 ADJK i, Ob0 ADJK j, Ob ps, Ob qs) => r) -> (ps ~> qs) -> r Source Comments # leftUnitor :: forall {i :: AB} {j :: AB} (a :: ADJK i j). (Ob0 ADJK i, Ob0 ADJK j, Ob a) => O (I :: ADJK j j) a ~> a Source Comments # leftUnitorInv :: forall {i :: AB} {j :: AB} (a :: ADJK i j). (Ob0 ADJK i, Ob0 ADJK j, Ob a) => a ~> O (I :: ADJK j j) a Source Comments # rightUnitor :: forall {i :: AB} {j :: AB} (a :: ADJK i j). (Ob0 ADJK i, Ob0 ADJK j, Ob a) => O a (I :: ADJK i i) ~> a Source Comments # rightUnitorInv :: forall {i :: AB} {j :: AB} (a :: ADJK i j). (Ob0 ADJK i, Ob0 ADJK j, Ob a) => a ~> O a (I :: ADJK i i) Source Comments # associator :: forall {h :: AB} {i :: AB} {j :: AB} {k :: AB} (a :: ADJK j k) (b :: ADJK i j) (c :: ADJK h i). (Ob0 ADJK h, Ob0 ADJK i, Ob0 ADJK j, Ob0 ADJK k, Ob a, Ob b, Ob c) => O (O a b) c ~> O a (O b c) Source Comments # associatorInv :: forall {h :: AB} {i :: AB} {j :: AB} {k :: AB} (a :: ADJK j k) (b :: ADJK i j) (c :: ADJK h i). (Ob0 ADJK h, Ob0 ADJK i, Ob0 ADJK j, Ob0 ADJK k, Ob a, Ob b, Ob c) => O a (O b c) ~> O (O a b) c Source Comments # | |||||||||||||
| Equipment ADJK Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Adj Methods withCotightAdjoint :: forall {j :: AB} {k1 :: AB} (f :: ADJK j k1) r. IsTight f => ((Adjunction_ f (CotightAdjoint f), IsCotight (CotightAdjoint f)) => r) -> r Source Comments # withTightAdjoint :: forall {j :: AB} {k1 :: AB} (f :: ADJK j k1) r. IsCotight f => ((Adjunction_ (TightAdjoint f) f, IsTight (TightAdjoint f)) => r) -> r Source Comments # | |||||||||||||
| WithObO2 Cotight ADJK Source Comments # | |||||||||||||
| WithObO2 Tight ADJK Source Comments # | |||||||||||||
| Adjunction_ ('AK ('L '::: ('R '::: ('L '::: ('Nil :: Path ABK 'B 'B))))) ('AK ('R '::: ('L '::: ('R '::: ('Nil :: Path ABK 'A 'A))))) Source Comments # | |||||||||||||
| Adjunction_ ('AK ('L '::: ('Nil :: Path ABK 'B 'B))) ('AK ('R '::: ('Nil :: Path ABK 'A 'A))) Source Comments # | |||||||||||||
| Adjunction_ ('AK ('Nil :: Path ABK c c) :: ADJK c c) ('AK ('Nil :: Path ABK c c) :: ADJK c c) Source Comments # | |||||||||||||
| Comonad ('AK ('R '::: ('L '::: ('Nil :: Path ABK 'B 'B)))) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Adj | |||||||||||||
| Monad ('AK ('L '::: ('R '::: ('Nil :: Path ABK 'A 'A)))) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Adj | |||||||||||||
| CategoryOf (ADJK a b) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Adj | |||||||||||||
| Promonad (Adj :: ADJK a b -> ADJK a b -> Type) Source Comments # | |||||||||||||
| Profunctor (Adj :: ADJK a b -> ADJK a b -> Type) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Adj | |||||||||||||
| type I Source Comments # | |||||||||||||
| type Ob0 ADJK (j :: k) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Adj | |||||||||||||
| type O (ps :: ADJK i1 j) (qs :: ADJK i2 i1) Source Comments # | |||||||||||||
| type IsOb Cotight ('AK ps :: ADJK i j) Source Comments # | |||||||||||||
| type IsOb Tight ('AK ps :: ADJK i j) Source Comments # | |||||||||||||
| type CotightAdjoint ('AK ps :: ADJK j i) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Adj | |||||||||||||
| type TightAdjoint ('AK ps :: ADJK j i) Source Comments # | |||||||||||||
Defined in Proarrow.Category.Bicategory.Adj | |||||||||||||
| type (~>) Source Comments # | |||||||||||||
| type Ob (ps :: ADJK a b) Source Comments # | |||||||||||||
| type UN ('AK :: Path ABK i j -> ADJK i j) ('AK ps :: ADJK i j) Source Comments # | |||||||||||||
data Adj (ps :: ADJK i j) (qs :: ADJK i j) where Source Comments #
Constructors
| AdjNil :: forall {i :: AB}. Adj ('AK ('Nil :: Path ABK i i)) ('AK ('Nil :: Path ABK i i)) | |
| AdjR :: forall {j :: AB} (ps1 :: Path ABK 'A j) (qs1 :: Path ABK 'A j). Adj ('AK ps1) ('AK qs1) -> Adj ('AK ('R '::: ps1)) ('AK ('R '::: qs1)) | |
| AdjL :: forall {j :: AB} (ps1 :: Path ABK 'B j) (qs1 :: Path ABK 'B j). Adj ('AK ps1) ('AK qs1) -> Adj ('AK ('L '::: ps1)) ('AK ('L '::: qs1)) | |
| AdjCup :: forall {j :: AB} (ps1 :: Path ABK 'B j) (qs1 :: ADJK 'B j). Adj ('AK ps1) qs1 -> Adj ('AK ('R '::: ('L '::: ps1))) qs1 | |
| AdjCap :: forall {j :: AB} (ps1 :: ADJK 'A j) (qs1 :: Path ABK 'A j). Adj ps1 ('AK qs1) -> Adj ps1 ('AK ('L '::: ('R '::: qs1))) |
class ((ps +++ ('Nil :: Path ABK k k)) ~ ps, forall (i :: AB) (h :: AB) (qs :: Path ABK k h) (rs :: Path ABK h i). Assoc ps qs rs) => IsLRPath (ps :: Path ABK j k) where Source Comments #
Methods
singPath :: SAdj ps Source Comments #
withIsPath2 :: forall {k1 :: AB} (qs :: Path ABK k k1) r. IsLRPath qs => (IsLRPath (ps +++ qs) => r) -> r Source Comments #
fromSimplex :: forall (a :: Nat) (b :: Nat). Simplex a b -> Adj ('AK (RepLR a)) ('AK (RepLR b)) Source Comments #
Adj(A, A) is the walking monoid
toSimplex :: forall (a :: Path ABK 'A 'A) (b :: Path ABK 'A 'A). Adj ('AK a) ('AK b) -> Simplex (CountLR a) (CountLR b) Source Comments #
fromSimplexOp :: forall (b :: Nat) (a :: Nat). Simplex b a -> Adj ('AK (RepRL a)) ('AK (RepRL b)) Source Comments #
Adj(B, B) is the walking comonoid
toSimplexOp :: forall (a :: Path ABK 'B 'B) (b :: Path ABK 'B 'B). Adj ('AK a) ('AK b) -> Simplex (CountRL b) (CountRL a) Source Comments #
class (IsLRPath ps, IsCotight (CotightAdj ps), Adjunction_ ('AK ps) ('AK (CotightAdj ps))) => IsTight (ps :: Path ABK i j) where Source Comments #
class (IsLRPath ps, IsTight (TightAdj ps), Adjunction_ ('AK (TightAdj ps)) ('AK ps)) => IsCotight (ps :: Path ABK i j) where Source Comments #