/caterwaul/Groupoid/Type
Copy path to clipboardTODO: This would be ./../Group/Type … (./../Category/Monoidal/Profunctor object morphism)
, but Category
isn’t defined via Monoid
, so we prefer
compatibility with that.
Source
{-|
**TODO**: This would be `./../Group/Type … (./../Category/Monoidal/Profunctor
object morphism)`, but `Category` isn’t defined via `Monoid`, so we prefer
compatibility with that.
-}
let kCat = ../Category/Cat/semigroupal
let vObject = Type
in λ(object : Kind) →
λ(v : ../Category/Monoidal/Kind kCat Type vObject) →
λ(cat : ../Category/Kind kCat vObject object) →
{ inverse :
∀(a : kCat.product object object) →
cat.arrow a →
cat.arrow { _1 = a._2, _2 = a._1 }
}
⩓ ../Category/Type object v cat