/caterwaul/Isomorphism/Type

Copy path to clipboard

The 2-morphism in the 2-category 𝐂𝐚𝐭.

Source

{-|
The 2-morphism in the 2-category 𝐂𝐚𝐭.
-}
let kCat = ../Category/Cat/semigroupal

let vObject = Type

in λ(object : Kind) →
λ(cat : ../Category/Kind kCat vObject object) →
( λ(a : { _1 : object, _2 : object }) →
{ to : cat.arrow a, from : cat.arrow { _1 = a._2, _2 = a._1 } }
)
: kCat.arrow (kCat.product object object) vObject