Exactness of inflation–restriction in degree two
ProvedgroupCohomology.map_two_injective_and_range_eq_ker_of_isZero_H1Let be a commutative ring, a group, a -linear representation of , and a normal subgroup of . Assume that the group cohomology object of the restriction of along the inclusion S.subtype vanishes, i.e. groupCohomology (Rep.res S.subtype A) 1 is a zero object of the ambient category of -modules. Consider two morphisms in degree : the inflation map, namely the map on induced by the quotient homomorphism QuotientGroup.mk' S : G → G ⧸ S together with the -equivariant inclusion of the representation A.quotientToInvariants S of (the -invariants of with its induced -action) into given by A.ρ.quotientToInvariants_lift S; and the restriction map, the map on induced by S.subtype together with the identity of Rep.res S.subtype A. The conclusion asserts, for the underlying -linear maps of these two morphisms, that inflation is injective and that its range coincides with the kernel of restriction .
This is the degree-two segment of the inflation–restriction (Hochschild–Serre) exact sequence, under the hypothesis : exactness of , stated on underlying linear maps in the same shape as Mathlib's degree-one version. It is used in the local part of the argument, for instance in the construction and characterisation of local fundamental classes and in comparisons of inflation with restriction on .
import Mathlib set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false set_option autoImplicit false open CategoryTheory CategoryTheory.Limits groupCohomology Rep
theorem groupCohomology.map_two_injective_and_range_eq_ker_of_isZero_H1
{k G : Type} [CommRing k] [Group G] (A : Rep k G) (S : Subgroup G) [S.Normal]
(hS : IsZero (groupCohomology (Rep.res S.subtype A) 1)) :
Function.Injective (ModuleCat.Hom.hom (map (A := A.quotientToInvariants S) (B := A) (QuotientGroup.mk' S) (ofHom (A.ρ.quotientToInvariants_lift S)) 2)) ∧
LinearMap.range (ModuleCat.Hom.hom (map (A := A.quotientToInvariants S) (B := A) (QuotientGroup.mk' S) (ofHom (A.ρ.quotientToInvariants_lift S)) 2)) =
LinearMap.ker (ModuleCat.Hom.hom (map S.subtype (𝟙 (Rep.res S.subtype A)) 2)) := by sorry