Lectures onType Theory
ch:definitional-functoriality: ch:definitional-functoriality
appendix sectionsolutions

ch:definitional-functoriality: ch:definitional-functoriality

Exercise 120.1.

An element of [[Di]]X is a triple (j,r,x) with j:I, r:R(i,j), and x:X(j). Hence mapDi(f)(j,r,x)=(j,r,fj(x)):[[Di]]Y. Structural induction follows theorem 120.6. The only changed clause is the parameter case: mapX(j)(id)(x)idj(x)x. The dependent-sum and constant-product cases leave j and r fixed and apply this induction hypothesis to x, so the entire triple is judgmentally unchanged.

Exercise 120.2.

For maps g:AB and f:BC, constructor computation gives mapf(mapg[])[], and, for [a1,a2], two outer and two inner constructor reductions give [f(g(a1)),f(g(a2))], the same constructor form as map(fg)[a1,a2]. For a neutral n, constructor reduction cannot fire; the single compaction step is mapf(mapgn)map(fListg)n. No identity expansion is used.

Exercise 120.3.

For (g,f):(A,B)(A,B), where g:AA and f:Πx:A.B(gx)B(x), the action is M(g,f)(h)=λx.fx(h(gx)). Identity reduces pointwise to λx.hx and eta gives h. For composable (g1,f1) and (g2,f2), both nested action and action of the componentwise composite reduce to λx.f2,x(f1,g2x(h(g1(g2x)))), whose intermediate fiber is B1(g1(g2x)). Reversing the domain map to g:AA makes the first occurrence h(gx) ill typed: x:A, so the reversed g cannot be applied to x.

Search the book

Type to search the local edition.