Fin.appendMap: Fin.append as a bifunctor on index maps #
[UPSTREAM] candidate for Mathlib/Data/Fin/Tuple/Basic.lean. Mathlib has
Fin.append (the action of + on tuples) and its naturality only for Fin.cast
maps; it lacks the action of + on arbitrary index maps. Fin.appendMap f g
routes a Fin (m + n) index through f on the left block and g on the right,
and is functorial (appendMap_id/appendMap_comp) with Fin.append natural in it
(append_comp_appendMap).
The action of + on index maps: f on the left block, g on the right.
Equations
- Fin.appendMap f g = ⇑finSumFinEquiv ∘ Sum.map f g ∘ ⇑finSumFinEquiv.symm
Instances For
Value characterisation: left-block indices route through f, right-block
(shifted) through g.
Value of a common-codomain Fin.append (the copairing Fin (m + n) → Fin p)
at a raw index: left-block indices route through u, right-block (shifted)
through v. The copairing analogue of appendMap_val.
Fin.append is natural in its index maps: a block-routing map intertwines
the two appended tuples. The label-preservation core for concatenation.