/caterwaul/Tuple/functor/endo/star
Copy path to clipboardSource
let kCat = ../../../Category/Cat/semigroupal
let Set = ../../../Category/Set/monoidal/cartesian
let base = ../../../Category/Monoidal/Cartesian/extractCategory kCat
let vObject = Type
let v = base Type vObject ../../../Category/Set/monoidal/cartesian
let cat = base vObject Type Set
in λ(m : kCat.arrow Type Type) →
λ(functor : ../../../Functor/Endo/Type vObject Type v cat m) →
λ(a : Type) →
{ map =
λ(b : Type) →
λ(c : Type) →
λ(f : b → m c) →
λ(t : Set.product { _1 = a, _2 = b }) →
functor.map
c
(Set.product { _1 = a, _2 = c })
(λ(x : c) → t ⫽ { _2 = x })
(f t._2)
}
: ../../../Functor/Endo/Star/Type
vObject
Type
v
cat
m
(λ(b : Type) → Set.product { _1 = a, _2 = b })