Definitions/Def_GroupCohomology_RelationModule.lean
Relation module and canonical free presentation of a representation
Fix a commutative ring k and a group G, and let B be a k-linear representation of G. Mathlib's \mathrm{Rep}.\mathrm{free}\ k\ G\ B is the free k[G]-module on the underlying type of B; Rep.freeCover is the morphism \varepsilon_B \colon k[G]^{(B)} \to B obtained by freely extending the identity map of the underlying set of B, so that the basis element indexed by b goes to b. Rep.relationModule is the subrepresentation of k[G]^{(B)} carried by \ker \varepsilon_B, the stability of this kernel under the G-action being exactly the equivariance of \varepsilon_B; Rep.relationModule.ι is the inclusion of this subrepresentation, and two small lemmas record that its underlying map is the coercion of a kernel element and that \varepsilon_B annihilates the image. Rep.relationSeq assembles these into a short complex R(B) \to k[G]^{(B)} \to B in \mathrm{Rep}\ k\ G with \varepsilon_B \circ \iota = 0; five further lemmas identify its three terms and two maps with the objects just named.
A second section repackages the case k = \mathbb{Z}. Rep.relationCarrier is a type synonym for the relation module equipped only with its additive group structure, so that the \mathbb{Z}-module structure used on it is the canonical one on an abelian group; Rep.relationRepInt is the action of G on this carrier, each \rho(g) being the additive map underlying the action on relationModule regarded as \mathbb{Z}-linear, with the multiplicativity and unit laws inherited. Rep.relationModuleInt is the resulting object of \mathrm{Rep}\ \mathbb{Z}\ G, Rep.relationModuleInt.ι the corresponding inclusion into \mathbb{Z}[G]^{(B)}, and, after the lemma that the composite with \varepsilon_B vanishes, Rep.relationSeqInt the associated short complex.
Relation to Mathlib
Built on Mathlib's Rep.free and Rep.freeLift and on Representation.subrepresentation; the free cover \varepsilon_B, the relation module and the presentation short complex are the project's own definitions.
Where it is used
The presentation R(B) \to \mathbb{Z}[G]^{(B)} \to B is the device by which cohomological statements available for \mathbb{Z}-free coefficients are transferred to finite coefficient modules: with the middle term \mathbb{Z}[G]-free, dimension shifting along the sequence moves duality and Tate–Nakayama type results from R(B) to B, in the Galois-cohomological input to the modularity argument.
References
- K. S. Brown, Cohomology of Groups, Graduate Texts in Mathematics 87, Springer, 1982
- J. Neukirch, A. Schmidt and K. Wingberg, Cohomology of Number Fields, Grundlehren der mathematischen Wissenschaften 323, Springer, 2nd ed., 2008
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 92 lines
- 20 declarations
- used in the statements of 30 theorems and imported by 31 proofs
- imports 0 definition modules
Source file: Definitions/Def_GroupCohomology_RelationModule.lean
Imports
- only Mathlib
Declarations
- def
Rep.freeCover - abbrev
Rep.relationModule - def
Rep.relationModule.ι - theorem
Rep.relationModule.ι_hom_apply - theorem
Rep.freeCover_hom_apply_ι - abbrev
Rep.relationSeq - theorem
Rep.relationSeq_X₁ - theorem
Rep.relationSeq_X₂ - theorem
Rep.relationSeq_X₃ - theorem
Rep.relationSeq_f - theorem
Rep.relationSeq_g - def
Rep.relationCarrier - instance
Rep.relationCarrier.instAddCommGroup - def
Rep.relationRepInt - theorem
Rep.relationRepInt_apply - abbrev
Rep.relationModuleInt - def
Rep.relationModuleInt.ι - theorem
Rep.relationModuleInt.ι_hom_apply - theorem
Rep.relationModuleInt_ι_comp_freeCover - abbrev
Rep.relationSeqInt
Source
import Mathlib set_option autoImplicit false universe u open CategoryTheory noncomputable section namespace Rep variable {k G : Type u} [CommRing k] [Group G] def freeCover (B : Rep.{u} k G) : Rep.free k G B ⟶ B := Rep.freeLift k G B (fun b : B => b) abbrev relationModule (B : Rep.{u} k G) : Rep.{u} k G := Rep.of (Representation.subrepresentation (Rep.free k G B).ρ (LinearMap.ker (freeCover B).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 relationModule.ι (B : Rep.{u} k G) : relationModule B ⟶ Rep.free k G B := Rep.ofHom ⟨Submodule.subtype _, fun _ => rfl⟩ theorem relationModule.ι_hom_apply (B : Rep.{u} k G) (x : relationModule B) : (relationModule.ι B).hom x = (x : Rep.free k G B) := rfl theorem freeCover_hom_apply_ι (B : Rep.{u} k G) (x : relationModule B) : (freeCover B).hom ((relationModule.ι B).hom x) = 0 := x.2 abbrev relationSeq (B : Rep.{u} k G) : ShortComplex (Rep.{u} k G) where X₁ := relationModule B X₂ := Rep.free k G B X₃ := B f := relationModule.ι B g := freeCover B zero := Rep.hom_ext (Representation.IntertwiningMap.ext (LinearMap.ext fun x => x.2)) theorem relationSeq_X₁ (B : Rep.{u} k G) : (relationSeq B).X₁ = relationModule B := rfl theorem relationSeq_X₂ (B : Rep.{u} k G) : (relationSeq B).X₂ = Rep.free k G B := rfl theorem relationSeq_X₃ (B : Rep.{u} k G) : (relationSeq B).X₃ = B := rfl theorem relationSeq_f (B : Rep.{u} k G) : (relationSeq B).f = relationModule.ι B := rfl theorem relationSeq_g (B : Rep.{u} k G) : (relationSeq B).g = freeCover B := rfl section Int variable {G : Type} [Group G] def relationCarrier (B : Rep ℤ G) : Type := relationModule B instance relationCarrier.instAddCommGroup (B : Rep ℤ G) : AddCommGroup (relationCarrier B) := inferInstanceAs (AddCommGroup (relationModule B)) def relationRepInt (B : Rep ℤ G) : Representation ℤ G (relationCarrier B) where toFun g := (((relationModule B).ρ g).toAddMonoidHom).toIntLinearMap map_one' := by apply LinearMap.ext intro x change ((relationModule B).ρ 1) x = x rw [map_one] rfl map_mul' g h := by apply LinearMap.ext intro x change ((relationModule B).ρ (g * h)) x = ((relationModule B).ρ g) (((relationModule B).ρ h) x) rw [map_mul] rfl theorem relationRepInt_apply (B : Rep ℤ G) (g : G) (x : relationCarrier B) : relationRepInt B g x = ((relationModule B).ρ g : relationModule B → relationModule B) x := rfl abbrev relationModuleInt (B : Rep ℤ G) : Rep ℤ G := Rep.of (relationRepInt B) def relationModuleInt.ι (B : Rep ℤ G) : relationModuleInt B ⟶ Rep.free ℤ G B := Rep.ofHom ⟨((relationModule.ι B).hom.toLinearMap.toAddMonoidHom).toIntLinearMap, fun _ => rfl⟩ theorem relationModuleInt.ι_hom_apply (B : Rep ℤ G) (x : relationModuleInt B) : (relationModuleInt.ι B).hom x = (relationModule.ι B).hom (show relationModule B from x) := rfl theorem relationModuleInt_ι_comp_freeCover (B : Rep ℤ G) : relationModuleInt.ι B ≫ freeCover B = 0 := Rep.hom_ext (DFunLike.ext _ _ fun x => freeCover_hom_apply_ι B (show relationModule B from x)) abbrev relationSeqInt (B : Rep ℤ G) : ShortComplex (Rep ℤ G) := ShortComplex.mk (relationModuleInt.ι B) (freeCover B) (relationModuleInt_ι_comp_freeCover B) end Int end Rep end
Statements phrased using this module (30)
- Image, target and cokernel form a short exact sequence
GroupCohomology.RepImage.seq_shortExact0 below · depth 19 - Assembling local conditions across a product of coinduced representations
GroupCohomology.RepPi.forall_exists_comp_proj_and_iff_exists_eq_comp_of_coind0 below · depth 19 - H¹(G,Hom(R,prod Xᵢ)) is the product of H¹(G,Hom(R,Xᵢ))
GroupCohomology.RepPi.map_ihom_proj_one_injective_and_surjective0 below · depth 19 - Finite-level degree-one duality for the S-idèle class group
M4aHerbrand.exists_level_forall_relationHom_sIdeleClassGroup_extends_or_map_delta_ne_zero488 below · depth 19 - Cocycles inflated from F lie in the image of Λ_E
NumberField.SUnits.exists_isGlobalBridge2_apply_eq_continuousH2Spi_of_forall_mul_eq8 below · depth 19 - Kernel of the global degree-two bridge dies under inflation
NumberField.SUnits.exists_level_forall_map_extInflR_eq_zero_of_isGlobalBridge2_apply_eq_zero48 below · depth 19 - Every map H¹(G,B)→ H²(G,C) factors through δ
Rep.exists_hom_relationModuleInt_forall_map_delta_eq124 below · depth 19 - Inflation of a vanishing Ext¹ relation-module class
Rep.exists_preIota_eq_map_extInflR_zero_of_exists_preIota_eq_of_pit0 below · depth 19 - Lifting a relation-module map after restriction, cokernel form
Rep.exists_resMap_comp_eq_comp_add_iota_comp_of_pit0 below · depth 19 - Change of group commutes with φ_*∘δ in degree one
Rep.map_delta_resMap_comp_eq_map_map_delta0 below · depth 19 - ℤ-freeness of the relation module carrier
Rep.moduleFree_relationCarrier0 below · depth 19 - Exactness of the canonical free presentation over ℤ
Rep.relationSeqInt_shortExact0 below · depth 19 - Global degree-one reading as a sum of local pairings
groupCohomology.alpha1Read_comp_eq_sum_theta_of_forall_local4 below · depth 19 - Reading δ-images in ℤ/p through an injective invariant
groupCohomology.exists_alpha1Read_of_injective_invariant0 below · depth 19 - Shapiro bijectivity for H¹(G,Hom(R,Coind Y))
groupCohomology.map_resIhom_comp_ihom_map_counit_one_bijective1 below · depth 19 - Global degree-two bridge on the defect class equals the inflated cocycle
NumberField.SUnits.isGlobalBridge2_apply_map_homSeq_f_eq_continuousH2Spi_of_eq_delta0 below · depth 20 - Tate–Nakayama surjectivity via a Tate-acyclic presentation
Rep.IsTateCupProduct.exists_tateNakayamaPairing_right_eq_of_shortExact102 below · depth 20 - Extension dichotomy for maps from the integral relation module
Rep.exists_comp_eq_or_exists_map_delta_ne_zero_of_forall_sum_rho_eq_nsmul119 below · depth 20 - Embedding B into Ind_N^G B with p-torsion cokernel
Rep.exists_hom_ind_injective_exact_of_forall_rho_eq0 below · depth 20 - Vanishing of the Hom-defect map when pB=0 and φ(E)⊆ pE'
Rep.extInflR_comp_homSeqTwo_g_eq_zero_of_forall_exists_eq_smul0 below · depth 20 - Finiteness of H¹ of the internal hom from a relation module
Rep.finite_H1_ihom_relationModuleInt23 below · depth 20 - Left exactness of Hom(-,E) on the free presentation
Rep.homSeqOne_shortExact0 below · depth 20 - Tate acyclicity of Hom(ℤ[G]^{(B)},C)
Rep.isZero_tateCohomology_ihom_free5 below · depth 20 - Restriction of a free representation is Tate-acyclic
Rep.isZero_tateCohomology_res_free10 below · depth 20 - Finite generation of the relation module over ℤ
Rep.moduleFinite_relationCarrier0 below · depth 20 - Induction along H≤ G preserves short exactness
Rep.shortExact_map_indFunctor0 below · depth 20 - Norm-type relation maps extend over the free cover
Rep.exists_relationModuleInt_iota_comp_eq_of_forall_hom_eq_sum_rho0 below · depth 21 - Vanishing of φ_*∘δ iff φ is a G-norm
Rep.forall_map_delta_eq_zero_iff_exists_eq_sum_rho117 below · depth 21 - Injectivity of inflation on H² when H¹ of the kernel vanishes
groupCohomology.map_two_injective_of_injective_of_isZero_H1_ker0 below · depth 21 - Right non-degeneracy of Tate–Nakayama pairing after δ
Rep.IsTateCupProduct.tateNakayamaPairing_right_eq_zero_of_shortExact95 below · depth 22