Functoriality of Hⁿ on explicit cocycle representatives
ProvedgroupCohomology.map_pi_cocyclesMk_applyLet be a commutative ring, let and be groups, let be a -linear representation of and a -linear representation of (all in Type), let be a group homomorphism and let be a morphism of -linear -representations from the restriction of along to . Let be a natural number and let be an inhomogeneous -cochain of with values in , assumed to satisfy , where is the degree- differential of the inhomogeneous cochain complex of ; and assume moreover that the pulled-back cochain on with values in satisfies . The conclusion is that the -linear map induced by the pair carries the cohomology class of the -cocycle determined by and its cocycle identity, taken under the projection groupCohomology.π from -cocycles to , to the class of the -cocycle determined by and its cocycle identity. The cocycle condition for the pulled-back cochain is thus a hypothesis rather than a consequence derived inside the statement.
This is the usual functoriality of group cohomology in the pair (group, module), made explicit on representatives: the induced map sends the class of an inhomogeneous cocycle to the class of . It is used when reading explicit idèle-valued cocycles in local coordinates, namely after restriction along an inclusion of a decomposition group followed by a coefficient morphism, and specialises further in groupCohomology.map_id_pi_cocyclesMk_apply.
import Mathlib set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false set_option autoImplicit false open CategoryTheory groupCohomology
theorem groupCohomology.map_pi_cocyclesMk_apply
{k G H : Type} [CommRing k] [Group G] [Group H] {A : Rep.{0} k H} {B : Rep.{0} k G}
(f : G →* H) (φ : Rep.res f A ⟶ B) (n : ℕ) (x : (Fin n → H) → A)
(hx : (inhomogeneousCochains.d A n).hom x = 0)
(hx' : (inhomogeneousCochains.d B n).hom (fun g => φ.hom (x (f ∘ g))) = 0) :
(groupCohomology.map f φ n).hom (groupCohomology.π A n (groupCohomology.cocyclesMk x hx)) =
groupCohomology.π B n (groupCohomology.cocyclesMk (fun g => φ.hom (x (f ∘ g))) hx') := by sorry