Definitions/Def_GroupCohomology_ContinuousH1.lean
Continuous first cohomology from level-constant 1-cocycles
Throughout, k is a commutative ring, G a group equipped with a homomorphism r : G \to \operatorname{Gal}(\overline{\mathbb Q}/\mathbb Q) (realised as \mathbb Q-algebra automorphisms of AlgebraicClosure ℚ), and M a representation of G over k. A cochain f : G \to X is level-constant, IsLevelConstant₁ r f, when there is an intermediate field F of \overline{\mathbb Q}/\mathbb Q with F/\mathbb Q finite such that f(gs) = f(g) for all g, s \in G with r(s) in the fixing subgroup of F; the level-constant cochains form a k-submodule levelCochains₁. Here levelCocycles₁ r M is the submodule of Mathlib's inhomogeneous 1-cocycles cocycles₁ M consisting of those cocycles whose underlying function is level-constant, and continuousH1 r M is its image in H1 M under the projection H1π M: a submodule of H^1(G,M), not a separately constructed quotient. The membership criterion mem_continuousH1_iff states that x lies in it exactly when x = H1π M c for some 1-cocycle c that is level-constant, and eq_continuousH1_of_forall_mem_iff identifies any submodule of H^1(G,M) characterised by that same criterion, written out with the intermediate field and fixing-subgroup condition spelled out, with continuousH1 r M; this is the hypothesis shape used by statements that take an abstract "admissible" submodule of H^1.
The remaining declarations are auxiliaries. continuousH2MapHom r φ is the k-linear map continuousH2 r A →ₗ continuousH2 r B induced by a morphism \varphi : A \to B of representations of the same group, obtained from the general functoriality continuousH2Map along the identity of G. For a morphism \varphi : A \to B, preimageFun φ is a choice-based partial inverse: it sends b to some preimage when one exists and to 0 otherwise, with apply_preimageFun and preimageFun_apply recording the two expected identities (the latter for injective \varphi). Given in addition \psi : B \to C with \psi surjective, and writing \sigma for a set-theoretic section of \psi, the connecting cochains are \delta^0(c)(g) = \varphi^{-1}(g\,\sigma c - \sigma c) for c \in C and \delta^1(c)(g,h) = \varphi^{-1}\bigl(g\,\sigma(c(h)) - \sigma(c(gh)) + \sigma(c(g))\bigr) for c : G \to C, defined as deltaCochain₀ and deltaCochain₁ by applying preimageFun φ to the Mathlib differentials d₀₁ B and d₁₂ B of the lifted cochain, with deltaCochain₀_apply and deltaCochain₁_apply giving these explicit formulae.
Relation to Mathlib
Mathlib supplies the inhomogeneous cochain apparatus used here (cocycles₁, H1, H1π, d₀₁, d₁₂, and for degree two cocycles₂); the level-constant cochain and cocycle submodules, the resulting continuousH1 and continuousH2, and their functoriality are the project's own, Mathlib having no notion of continuous cohomology of this shape.
Where it is used
The submodule continuousH1 r M is the carrier of continuous (level-constant) Galois cohomology in degree one used in the cohomological bookkeeping of the deformation-theoretic part of the argument, in particular wherever a result is stated for an arbitrary submodule of H^1 satisfying the level-constancy criterion. The connecting cochains provide the degree-shifting maps for short exact sequences of coefficient representations.
References
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
- J.-P. Serre, Cohomologie galoisienne, Lecture Notes in Mathematics 5, Springer, 1964
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 91 lines
- 14 declarations
- used in the statements of 65 theorems and imported by 79 proofs
- imports 2 definition modules
Source file: Definitions/Def_GroupCohomology_ContinuousH1.lean
Declarations
- def
groupCohomology.levelCocycles₁ - lemma
groupCohomology.mem_levelCocycles₁_iff - def
groupCohomology.continuousH1 - lemma
groupCohomology.mem_continuousH1_iff - lemma
groupCohomology.H1π_mem_continuousH1 - lemma
groupCohomology.eq_continuousH1_of_forall_mem_iff - abbrev
groupCohomology.continuousH2MapHom - def
groupCohomology.preimageFun - lemma
groupCohomology.apply_preimageFun - lemma
groupCohomology.preimageFun_apply - def
groupCohomology.deltaCochain₀ - def
groupCohomology.deltaCochain₁ - lemma
groupCohomology.deltaCochain₀_apply - lemma
groupCohomology.deltaCochain₁_apply
Source
import Mathlib import Definitions.Def_GroupCohomology_ContinuousH2 import Definitions.Def_GroupCohomology_ContinuousH2Map set_option autoImplicit false universe u open CategoryTheory noncomputable section namespace groupCohomology variable {k G : Type u} [CommRing k] [Group G] (r : G →* (AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ)) section carriers variable (M : Rep k G) def levelCocycles₁ : Submodule k (cocycles₁ M) := (levelCochains₁ r M).comap (cocycles₁ M).subtype lemma mem_levelCocycles₁_iff (c : cocycles₁ M) : c ∈ levelCocycles₁ r M ↔ IsLevelConstant₁ r c := Iff.rfl def continuousH1 : Submodule k (H1 M) := (levelCocycles₁ r M).map (H1π M).hom lemma mem_continuousH1_iff (x : H1 M) : x ∈ continuousH1 r M ↔ ∃ c : cocycles₁ M, IsLevelConstant₁ r c ∧ (H1π M).hom c = x := by simp only [continuousH1, Submodule.mem_map, mem_levelCocycles₁_iff] lemma H1π_mem_continuousH1 {c : cocycles₁ M} (hc : IsLevelConstant₁ r c) : (H1π M).hom c ∈ continuousH1 r M := (mem_continuousH1_iff r M _).2 ⟨c, hc, rfl⟩ lemma eq_continuousH1_of_forall_mem_iff (adm₁ : Submodule k (H1 M)) (hadm₁ : ∀ x, x ∈ adm₁ ↔ ∃ c : cocycles₁ M, (∃ F : IntermediateField ℚ (AlgebraicClosure ℚ), FiniteDimensional ℚ F ∧ ∀ (g s : G), r s ∈ F.fixingSubgroup → c.val (g * s) = c.val g) ∧ (H1π M).hom c = x) : adm₁ = continuousH1 r M := by ext x rw [hadm₁, mem_continuousH1_iff] rfl end carriers abbrev continuousH2MapHom {A B : Rep k G} (φ : A ⟶ B) : continuousH2 r A →ₗ[k] continuousH2 r B := continuousH2Map (MonoidHom.id G) (fun _ => rfl) φ.hom.toLinearMap (fun g a => Rep.hom_comm_apply φ g a) section delta variable {A B C : Rep k G} (φ : A ⟶ B) (ψ : B ⟶ C) open Classical in def preimageFun (b : B) : A := if h : ∃ a : A, φ.hom a = b then h.choose else 0 lemma apply_preimageFun {b : B} (h : ∃ a : A, φ.hom a = b) : φ.hom (preimageFun φ b) = b := by rw [preimageFun, dif_pos h]; exact h.choose_spec lemma preimageFun_apply (hφ : Function.Injective φ.hom) (a : A) : preimageFun φ (φ.hom a) = a := hφ (apply_preimageFun φ ⟨a, rfl⟩) variable (hψ : Function.Surjective ψ.hom) def deltaCochain₀ (c : C) : G → A := fun g => preimageFun φ ((d₀₁ B).hom (Function.surjInv hψ c) g) def deltaCochain₁ (c : G → C) : G × G → A := fun p => preimageFun φ ((d₁₂ B).hom (Function.surjInv hψ ∘ c) p) lemma deltaCochain₀_apply (c : C) (g : G) : deltaCochain₀ φ ψ hψ c g = preimageFun φ (B.ρ g (Function.surjInv hψ c) - Function.surjInv hψ c) := by rw [deltaCochain₀, d₀₁_hom_apply] lemma deltaCochain₁_apply (c : G → C) (g h : G) : deltaCochain₁ φ ψ hψ c (g, h) = preimageFun φ (B.ρ g (Function.surjInv hψ (c h)) - Function.surjInv hψ (c (g * h)) + Function.surjInv hψ (c g)) := by rw [deltaCochain₁, d₁₂_hom_apply]; rfl end delta end groupCohomology end
Statements phrased using this module (65)
- Finiteness of continuous H¹ for open subgroups of G_q
groupCohomology.finiteDimensional_continuousH1_of_isOpen_of_primeLocal54 below · depth 13 - Functoriality preserves continuous degree-one classes
groupCohomology.map_apply_mem_continuousH1_comp0 below · depth 13 - Finiteness of continuous H¹ for local K ni ζₚ
groupCohomology.finiteDimensional_continuousH1_fixingSubgroup_of_forall_apply_eq_of_primeLocal31 below · depth 14 - Dévissage to trivial lines for continuous H¹ and H²
groupCohomology.finiteDimensional_continuous_of_forall_apply_eq_of_rank_one12 below · depth 14 - Finiteness propagates along the continuous cohomology sequence
groupCohomology.finiteDimensional_continuous_of_shortExact10 below · depth 14 - Degree-one Shapiro lemma for continuous H¹
groupCohomology.nonempty_continuousH1_coind_linearEquiv_continuousH12 below · depth 14 - Invariance of continuous H⁰, H¹, H² under isomorphic data
groupCohomology.nonempty_continuous_linearEquiv_of_mulEquiv0 below · depth 14 - Exactness of C^G → H¹(G,A) → H¹(G,B)
groupCohomology.comp_mem_coboundaries1_iff_exists_invariants_sub_deltaCochain00 below · depth 15 - Exactness at H¹(B) for level-constant cochains
groupCohomology.comp_mem_coboundaries1_iff_exists_isLevelConstant1_sub_comp0 below · depth 15 - Exactness at H² in level-constant cochains, smooth B
groupCohomology.comp_mem_levelCoboundaries2_iff_exists_levelCocycles2_sub_comp1 below · depth 15 - Exactness at H² of the level-constant connecting map
groupCohomology.comp_mem_levelCoboundaries2_iff_exists_sub_deltaCochain10 below · depth 15 - Connecting 0-cochain is a level-constant 1-cocycle
groupCohomology.deltaCochain0_mem_cocycles1_and_isLevelConstant10 below · depth 15 - Exactness at H¹ for level-constant continuous cochains
groupCohomology.deltaCochain1_mem_levelCoboundaries2_iff0 below · depth 15 - Linearity of the connecting map on level-constant 1-cocycles
groupCohomology.exists_linearMap_levelCocycles1_continuousH2_eq_continuousH2pi_deltaCochain13 below · depth 15 - Localisation preserves continuous degree-one classes
groupCohomology.locRes_extArithLoc_apply_mem_continuousH10 below · depth 15 - Connecting 2-cochain is independent of the chosen lift
groupCohomology.preimageFun_comp_d12_sub_deltaCochain1_mem_levelCoboundaries20 below · depth 15 - Local Tate duality at q in all three degrees
groupCohomology.bijective_theta_dualTwist_of_primeLocal195 below · depth 16 - Level-constancy of the connecting cochain δ¹(c)
groupCohomology.deltaCochain1_mem_levelCocycles21 below · depth 16 - Existence of θ⁰ and θ² for an equivariant pairing
groupCohomology.exists_theta0_and_theta20 below · depth 16 - Existence of the bidegree-(1,1) cup-product duality map
groupCohomology.exists_theta13 below · depth 16 - Local Tate duality over open subgroups of G_{ℚ_q}
groupCohomology.bijective_theta_dualTwist_of_isOpen196 below · depth 17 - Descent of local duality along a subgroup of index prime to p
groupCohomology.bijective_theta_dualTwist_of_res135 below · depth 17 - Local Tate duality at a Sylow level
groupCohomology.bijective_theta_dualTwist_of_sylowLevel186 below · depth 17 - Surjectivity of continuous H² for local Galois subgroups
groupCohomology.continuousH2MapHom_surjective_of_surjective_of_primeLocal162 below · depth 17 - Local Euler–Poincaré identity from five named inputs
groupCohomology.euler_poincare_identity_of_hypotheses26 below · depth 17 - Finiteness of continuous H¹ and H² for local Galois groups
groupCohomology.finiteDimensional_continuousH1_and_continuousH2_of_isOpen_of_primeLocal145 below · depth 17 - Finiteness of continuous H² for smooth mod p modules over open subgroups locally at q
groupCohomology.finiteDimensional_continuousH2_of_isOpen_of_primeLocal144 below · depth 17 - Tame local Euler characteristic for subgroups of Gₚ
groupCohomology.finrank_continuousH1_eq_invariants_add_dualTwist_add_index_mul_of_tame66 below · depth 17 - Bijectivity of θ⁰ and θ² for a trivial 𝔽ₚ-line
groupCohomology.bijective_theta0_theta2_of_trivial_line_of_isOpen115 below · depth 18 - Local duality in degree one for a trivial line
groupCohomology.bijective_theta1_of_trivial_line_of_isOpen102 below · depth 18 - Shapiro transport of duality to a coinduced pair
groupCohomology.bijective_theta_coind7 below · depth 18 - Local duality over S descends from a subgroup of index prime to p
groupCohomology.bijective_theta_dualTwist_of_res_of_isOpen20 below · depth 18 - Duality maps transfer along a compatible group isomorphism
groupCohomology.bijective_theta_of_mulEquiv0 below · depth 18 - Duality maps descend to retracts of dual pairs
groupCohomology.bijective_theta_of_retract1 below · depth 18 - Continuous duality passes to extensions of representations
groupCohomology.bijective_theta_of_shortExact15 below · depth 18 - Continuous Kummer map H²(G_K,μₚ)→ H²(G_K,Ω^×): injective with p-torsion image
groupCohomology.continuousH2Map_kummerRep_injective_and_range_iff_smul_eq_zero15 below · depth 18 - A Sylow p-level inside an open subgroup of G_{ℚ_q}
groupCohomology.exists_level_sylow_of_isOpen9 below · depth 18 - Finite-dimensionality of continuous H² of a trivial mod p line
groupCohomology.finiteDimensional_continuousH2_fixingSubgroup_of_forall_apply_eq_of_primeLocal112 below · depth 18 - Tame local Euler characteristic over a finite base K/ℚₚ
groupCohomology.finrank_continuousH1_eq_invariants_add_dualTwist_add_finrank_mul_of_tame_intermediateField62 below · depth 18 - Dimensions of invariants, twisted duals and continuous H¹ under group transport
groupCohomology.finrank_continuousH1_res_mulEquiv_symm_eq1 below · depth 18 - Invariants and continuous H¹, H² under reindexing S'≤ S
groupCohomology.finrank_continuous_res_subgroupOf_eq_res_inclusion0 below · depth 18 - Euler characteristic of a coinduced module multiplies by p
groupCohomology.finrank_euler_coind_res_index_eq_mul14 below · depth 18 - Additivity of continuous Euler characteristics in short exact sequences
groupCohomology.finrank_euler_even_eq_odd_of_continuousH2MapHom_surjective12 below · depth 18 - Archimedean local bridge in degree one at a complex place
NumberField.InfPlaceDecomp.exists_isLocalBridge1_archimedean5 below · depth 19 - Injective archimedean local bridge at an infinite place
NumberField.InfPlaceDecomp.exists_isLocalBridge2_archimedean4 below · depth 19 - Complex conjugation generates decomposition groups at infinite places
NumberField.InfPlaceDecomp.exists_restrictNormalHom_conj_complexConjugation_mem_decomp0 below · depth 19 - Archimedean local-bridge hypotheses: level, divisibility, degree-one acyclicity
NumberField.InfPlaceDecomp.localBridge_hypotheses_archimedean1 below · depth 19 - Existence of a degree-one local bridge at a finite place
NumberField.PlaceDecomp.exists_isLocalBridge1_padicAlgCl17 below · depth 19 - q-adic coordinates for a completion at a finite place
NumberField.PlaceDecomp.exists_ringHom_adicCompletion_padicAlgCl_extends_padicEmbedding1 below · depth 19 - Arithmetic hypotheses of the local bridge at a finite place
NumberField.PlaceDecomp.localBridge_hypotheses_padicAlgCl13 below · depth 19 - Second cup-product square: δ¹csmile y-csmileδ⁰y is a level coboundary
groupCohomology.cup20_deltaCochain1_sub_cup_deltaCochain0_mem_levelCoboundaries20 below · depth 19 - Cup product against connecting cochains is a level coboundary
groupCohomology.cup_deltaCochain0_add_cup02_deltaCochain1_mem_levelCoboundaries20 below · depth 19 - Exactness at C^G of the connecting sequence
groupCohomology.deltaCochain0_mem_coboundaries1_iff0 below · depth 19 - Existence of the degree-two local bridge Λ
groupCohomology.exists_isLocalBridge20 below · depth 19 - Injectivity of the degree-two local bridge map
groupCohomology.isLocalBridge2_injective0 below · depth 19 - Unit groups of complex completions are divisible
NumberField.InfinitePlace.exists_pow_eq_of_isTotallyComplex0 below · depth 20 - Divisible lift to ℚ̄_q^× fixed by a finite global level
NumberField.PlaceDecomp.exists_extension_fixed_of_injective_padicAlgCl5 below · depth 20 - Level-constant cocycles into ℚ̄_q^× are level-fixed coboundaries
NumberField.PlaceDecomp.exists_fixed_d01_eq_of_isLevelConstant1_padicAlgCl9 below · depth 20 - Each σ cuts out a place of F above q
NumberField.PlaceDecomp.exists_forall_mem_asIdeal_iff_norm_padicEmbedding_lt_one0 below · depth 20 - q-adic coordinates of F_w for a prescribed σ
NumberField.PlaceDecomp.exists_ringHom_adicCompletion_padicAlgCl_of_forall_mem_asIdeal_iff2 below · depth 20 - Units fixed by the kernel lie in Φ(F_w^×)
NumberField.PlaceDecomp.exists_unit_map_eq_of_forall_apply_eq_padicAlgCl1 below · depth 20 - A continuous q-adic embedding of F_w recovers w
NumberField.PlaceDecomp.mem_asIdeal_iff_norm_padicEmbedding_lt_one_of_continuous0 below · depth 20 - Existence of the degree-one local bridge map
groupCohomology.exists_isLocalBridge10 below · depth 20 - Kernel of a degree-one local bridge
groupCohomology.isLocalBridge1_apply_eq_zero_iff0 below · depth 20 - Image of the degree-one local bridge is exactly H¹_{cts}
groupCohomology.isLocalBridge1_mem_continuousH1_and_exists_eq0 below · depth 20