Definitions/Def_GroupCohomology_TateDimensionShift.lean
Dimension-shifting short complexes via induction from the trivial subgroup
Fix a commutative ring k, a group G and a representation A \in \mathrm{Rep}_k(G). The module names the representation A_* := Rep.indBot A, obtained by restricting A along the inclusion \bot \hookrightarrow G of the trivial subgroup and inducing back along the same inclusion; since Mathlib realises induction as coinvariants of k[G] \otimes_k V for the subgroup action, and the subgroup here is trivial, A_* is k[G] \otimes_k A with G acting through the left regular action on k[G]. Together with it come the k-linear maps a \mapsto [g \otimes a] (Rep.indBotMk, with Rep.indBotMk_apply recording the defining formula), the special case \sigma = Rep.indBotσ at g = 1, and the k-linear map r = Rep.indBotr, induced on coinvariants by f \otimes a \mapsto f(1)\,a on k[G] \otimes_k A. The morphism \pi = Rep.indBotπ: A_* \to A is defined as the image of the identity of \mathrm{Res}\,A under the inverse of the adjunction bijection Rep.indResHomEquiv, i.e. the counit of \mathrm{Ind} \dashv \mathrm{Res} at A; dually, for G finite, \iota = Rep.indBotι: A \to A_* is the unit of Rep.resIndAdjunction at A. Neither map is given by an explicit formula here.
From these, two objects of \mathrm{Rep}_k(G) are formed: Rep.dimShiftDownObj A, the subrepresentation of A_* carried by \ker \pi, and (for G finite) Rep.dimShiftUpObj A, the quotient of A_* by the image of \iota; in each case the required stability of the submodule under the action is part of the definition. Finally Rep.dimShiftDown A and Rep.dimShiftUp A package these into short complexes \ker\pi \to A_* \xrightarrow{\pi} A and A \xrightarrow{\iota} A_* \to A_*/\iota(A), with the inclusion and the quotient map as the remaining morphisms and the vanishing of the composite as the short-complex datum. Exactness is not asserted at this stage.
Relation to Mathlib
Built on Mathlib's Rep.ind, Rep.res, the hom-equivalence Rep.indResHomEquiv and the adjunction Rep.resIndAdjunction, and on Mathlib's realisation of induced representations as coinvariants of k[G] \otimes_k V; the named splittings, the kernel/cokernel representations and the two short complexes are the project's own packaging.
Where it is used
The two short complexes are the input to dimension shifting for the Tate cohomology of a finite group defined in the imported module: once their exactness and the vanishing of the Tate cohomology of A_* in all degrees are available, they yield isomorphisms \hat H^q(G, A_*/\iota A) \cong \hat H^{q+1}(G, A) and \hat H^q(G, A) \cong \hat H^{q+1}(G, \ker\pi), reducing statements about Tate cohomology in arbitrary degrees to low degrees.
References
- J.-P. Serre, Local Fields, Graduate Texts in Mathematics 67, Springer, 1979, Chapter VIII
- K. S. Brown, Cohomology of Groups, Graduate Texts in Mathematics 87, Springer, 1982
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 76 lines
- 11 declarations
- used in the statements of 40 theorems and imported by 50 proofs
- imports 1 definition modules
Source file: Definitions/Def_GroupCohomology_TateDimensionShift.lean
Imported by
Declarations
- abbrev
Rep.indBot - def
Rep.indBotMk - lemma
Rep.indBotMk_apply - def
Rep.indBotπ - def
Rep.indBotσ - def
Rep.indBotr - abbrev
Rep.dimShiftDownObj - def
Rep.dimShiftDown - def
Rep.indBotι - abbrev
Rep.dimShiftUpObj - def
Rep.dimShiftUp
Source
import Mathlib import Definitions.Def_GroupCohomology_TateCohomology set_option autoImplicit false universe u open CategoryTheory noncomputable section namespace Rep section DimShift variable {k G : Type u} [CommRing k] [Group G] abbrev indBot (A : Rep.{u} k G) : Rep.{u} k G := Rep.ind (⊥ : Subgroup G).subtype (Rep.res (⊥ : Subgroup G).subtype A) def indBotMk (A : Rep.{u} k G) (g : G) : A →ₗ[k] A.indBot := Representation.IndV.mk (⊥ : Subgroup G).subtype (Rep.res (⊥ : Subgroup G).subtype A).ρ g lemma indBotMk_apply (A : Rep.{u} k G) (g : G) (a : A) : A.indBotMk g a = Representation.IndV.mk (⊥ : Subgroup G).subtype (Rep.res (⊥ : Subgroup G).subtype A).ρ g a := rfl def indBotπ (A : Rep.{u} k G) : A.indBot ⟶ A := (Rep.indResHomEquiv (⊥ : Subgroup G).subtype (Rep.res (⊥ : Subgroup G).subtype A) A).symm (𝟙 _) def indBotσ (A : Rep.{u} k G) : A →ₗ[k] A.indBot := A.indBotMk 1 def indBotr (A : Rep.{u} k G) : A.indBot →ₗ[k] A := Representation.Coinvariants.lift _ (TensorProduct.lift ((LinearMap.lsmul k A).comp ((Finsupp.lapply 1).comp (MonoidAlgebra.coeffLinearEquiv k).toLinearMap))) (fun s => by rw [Subsingleton.elim s 1, map_one]; rfl) abbrev dimShiftDownObj (A : Rep.{u} k G) : Rep.{u} k G := Rep.of (Representation.subrepresentation A.indBot.ρ (LinearMap.ker (indBotπ A).hom.toLinearMap) fun g x hx => by simp only [Submodule.mem_comap, LinearMap.mem_ker, Representation.IntertwiningMap.toLinearMap_apply] at hx ⊢ rw [Rep.hom_comm_apply, hx, map_zero]) def dimShiftDown (A : Rep.{u} k G) : ShortComplex (Rep.{u} k G) where X₁ := A.dimShiftDownObj X₂ := A.indBot X₃ := A f := Rep.ofHom ⟨Submodule.subtype _, fun _ => rfl⟩ g := indBotπ A zero := Rep.hom_ext (Representation.IntertwiningMap.ext (LinearMap.ext fun x => x.2)) variable [Fintype G] open scoped Classical in def indBotι (A : Rep.{u} k G) : A ⟶ A.indBot := (Rep.resIndAdjunction k (⊥ : Subgroup G)).unit.app A abbrev dimShiftUpObj (A : Rep.{u} k G) : Rep.{u} k G := Rep.of (Representation.quotient A.indBot.ρ (LinearMap.range (indBotι A).hom.toLinearMap) fun g => by rintro _ ⟨a, rfl⟩ exact ⟨A.ρ g a, Rep.hom_comm_apply (indBotι A) g a⟩) def dimShiftUp (A : Rep.{u} k G) : ShortComplex (Rep.{u} k G) where X₁ := A X₂ := A.indBot X₃ := A.dimShiftUpObj f := indBotι A g := Rep.ofHom ⟨Submodule.mkQ _, fun _ => rfl⟩ zero := Rep.hom_ext (Representation.IntertwiningMap.ext (LinearMap.ext fun a => (Submodule.Quotient.mk_eq_zero _).2 ⟨a, rfl⟩)) end DimShift end Rep end
Statements phrased using this module (40)
- Dimension shifting for Tate cohomology
Rep.nonempty_tateCohomology_dimShiftUpObj_iso14 below · depth 20 - Dimension shifting down for Tate cohomology
Rep.nonempty_tateCohomology_iso_dimShiftDownObj12 below · depth 20 - Dimension shifting: δⁿ is bijective for the sequence 0→ A''→ Ind A→ A→ 0
Rep.bijective_tateDelta_dimShiftDown12 below · depth 21 - Dimension shifting: δ is bijective for 0→ A→ Ind Res A→ A'→ 0
Rep.bijective_tateDelta_dimShiftUp12 below · depth 21 - Exactness of the dimension-shift-down functor on short exact sequences
Rep.dimShiftDownSC_shortExact2 below · depth 21 - The dimension-shifting-down sequence is short exact
Rep.dimShiftDown_shortExact1 below · depth 21 - The dimension-shift sequence 0 → A → Ind₁^G A → A_* → 0 is short exact
Rep.dimShiftUp_shortExact3 below · depth 21 - Induction from the trivial subgroup preserves short exactness
Rep.indBotSC_shortExact1 below · depth 21 - The unit A → Ind_{mathbf 1}^GResA admits a k-linear retraction
Rep.indBotr_indBotIota2 below · depth 21 - Tate-acyclicity of Hom_k(Ind₁^G M, W)
Rep.isZero_tateCohomology_ihom_indBot_trivial4 below · depth 21 - Tate cohomology of a module induced from the trivial subgroup vanishes
Rep.isZero_tateCohomology_indBot2 below · depth 21 - Vanishing of Tate cohomology of Ind₁^GRes₁ A ⊗ B
Rep.isZero_tateCohomology_indBot_tensor5 below · depth 21 - Tate cohomology of A ⊗ Ind₁^G B vanishes
Rep.isZero_tateCohomology_tensor_indBot6 below · depth 21 - Dimension shift down preserves A⊗- short exactness
Rep.shortExact_dimShiftDownSC_map_tensorLeft2 below · depth 21 - Dimension shift down preserves ⊗ B-short exactness
Rep.shortExact_dimShiftDownSC_map_tensorRight2 below · depth 21 - Tensoring the dimension-shift sequence with A preserves exactness
Rep.shortExact_dimShiftDown_map_tensorLeft3 below · depth 21 - Dimension-shifting sequence remains short exact after -⊗ B
Rep.shortExact_dimShiftDown_map_tensorRight3 below · depth 21 - Tensoring preserves short exactness of the Ind_{bot} shift
Rep.shortExact_indBotSC_map_tensorLeft1 below · depth 21 - Tensoring the dimension-shift induction preserves short exactness
Rep.shortExact_indBotSC_map_tensorRight1 below · depth 21 - Left tensoring by the dimension-shift subobject preserves short exactness
Rep.shortExact_map_tensorLeft_dimShiftDownObj2 below · depth 21 - Induction from the trivial subgroup preserves tensor-exactness
Rep.shortExact_map_tensorLeft_indBot0 below · depth 21 - Dimension-shift subobject preserves tensored short exactness
Rep.shortExact_map_tensorRight_dimShiftDownObj2 below · depth 21 - Right tensoring with Ind₁^GRes₁ B preserves short exactness
Rep.shortExact_map_tensorRight_indBot0 below · depth 21 - Anticommutativity of Tate connecting maps in a 3× 3 diagram
Rep.tateDelta_comp_tateDelta_eq_neg0 below · depth 21 - Anticommutation of Tate connecting maps in a 3× 3 diagram
Rep.tateDelta_comp_tateDelta_eq_neg_of_hom0 below · depth 21 - The unit A → Ind₁^GRes₁^G A as a sum over G
Rep.indBotIota_apply0 below · depth 22 - Induced map on Ind_{{1}}^G generators
Rep.indBotMap_indBotMk0 below · depth 22 - The augmentation Ind₁^G Res A → A admits a k-linear section
Rep.indBotPi_indBotSigma0 below · depth 22 - Action on Ind₁^G Res₁^G A on elementary tensors
Rep.indBot_rho_indBotMk0 below · depth 22 - Value of the retraction Ind₁^GRes A → A on generators
Rep.indBotr_indBotMk0 below · depth 22 - Dimension shifting up commutes with restriction (Tate cohomology)
Rep.nonempty_tateCohomology_res_dimShiftUpObj_iso_res18 below · depth 23 - Dimension shifting down, compatibly with restriction
Rep.nonempty_tateCohomology_res_iso_res_dimShiftDownObj16 below · depth 23 - Tate-acyclicity of Hom(Ind₁^G A, W)
Rep.isZero_tateCohomology_ihom_indBot5 below · depth 24 - Restriction to a finite subgroup of Ind₁^G is Tate-acyclic
Rep.isZero_tateCohomology_res_indBot5 below · depth 24 - Augmentation sequence is the dimension-shift sequence of k
Rep.nonempty_augShortComplex_iso_dimShiftDown2 below · depth 24 - The map indBotπ sends [g⊗ a] to g⁻¹a
Rep.indBotPi_indBotMk0 below · depth 25 - Mackey: Res_S Ind₁^G A ≅ Ind₁^S(bigoplus_{G/S}A)
Rep.nonempty_res_indBot_iso0 below · depth 25 - Induced from the trivial subgroup when pV=0 and H₁ vanishes
Rep.nonempty_iso_indBot_trivial_of_isPGroup1 below · depth 27 - Splitting module: every H² class dies over the augmentation module
Rep.exists_shortExact_map_two_eq_zero2 below · depth 28 - Dimension-shift kernel of the trivial module is the augmentation ideal
Rep.exists_hom_dimShiftDownObj_trivial_leftRegular1 below · depth 29