English
Let F be a type-valued presheaf on the opposite of CostructuredArrow yoneda A. For objects X, Y in C with a morphism f: X → Y, and arrows g, g' : yoneda.obj Y → A with g = g', and x ∈ F.obj (op (CostructuredArrow.mk g')), then applying F to the precomposition by g along f and to the corresponding equality yields the same result as first transporting along the equality and then precomposing with g'. This is a direct consequence of functoriality and the equality g = g'.
Русский
Пусть F — частичный функтор, принимающий значения типа, на противоположном_COSTstructuredArrow yoneda A. Пусть X, Y — объекты в C, f: X → Y; g, g' : yoneda.obj Y → A удовлетворяют g = g'; и h = g' = g. Пусть x ∈ F.obj (op (CostructuredArrow.mk g')). Тогда применение F к префикомпонантизации mkPrecomp g f и к соответствующему равенству даёт тот же результат, что и сначала перенос по равенству, затем применение F к mkPrecomp g' f. Это следует из функций F и равенства g = g'.
LaTeX
$$$$ F.map (CostructuredArrow.mkPrecomp g f).op \\bigl(F.map (eqToHom (by rw [h])) x\\bigr) = F.map (eqToHom (by rw [h])) \\bigl(F.map (CostructuredArrow.mkPrecomp g' f).op x\\bigr) $$$$
Lean4
/-- This lemma will be key to establishing good simp normal forms. -/
theorem map_mkPrecomp_eqToHom {F : (CostructuredArrow yoneda A)ᵒᵖ ⥤ Type v} {X Y : C} {f : X ⟶ Y}
{g g' : yoneda.obj Y ⟶ A} (h : g = g') {x : F.obj (op (CostructuredArrow.mk g'))} :
F.map (CostructuredArrow.mkPrecomp g f).op (F.map (eqToHom (by rw [h])) x) =
F.map (eqToHom (by rw [h])) (F.map (CostructuredArrow.mkPrecomp g' f).op x) :=
by cat_disch