Definitions/Def_GroupCohomology_ContinuousUnramifiedLevelMap.lean
Functoriality of -level continuous and
Throughout, k is a commutative ring, G,H,I are groups equipped with level maps r_G,r_H,r_I to \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) = (\mathrm{AlgebraicClosure}\ \mathbb{Q} \simeq_{\mathbb{Q}} \mathrm{AlgebraicClosure}\ \mathbb{Q}), S is a finite set of rational primes, and f : G \to H is a homomorphism with r_H(f(g)) = r_G(g) for all g. Recall that IsLevelConstantSr₁ r S x asserts the existence of an intermediate field F/\mathbb{Q} inside \overline{\mathbb{Q}} which is finite over \mathbb{Q} and whose fixing subgroup contains the inertia subgroup of every valuation subring lying over a prime outside S, such that x(gs) = x(g) whenever r(s) fixes F; IsLevelConstantSr₂ is the two-variable analogue. The two precomp lemmas say that the same field F witnesses level constancy for x \circ f and x \circ (f \times f).
In degree two, for representations A of H and B of G and a k-linear \varphi : A \to B with \varphi(\rho_A(f(g))a) = \rho_B(g)\varphi(a), the cochain operation x \mapsto \varphi \circ x \circ (f\times f) carries S-level cochains, S-level 2-cocycles and S-level 2-coboundaries for (r_H,A) into those for (r_G,B); levelCocyclesSr₂Map is the resulting map on S-level cocycles and continuousH2SrMap the induced k-linear map H^2_{S}(r_H,A) \to H^2_{S}(r_G,B) on the quotients. Further lemmas record that it commutes with the comparison maps to the all-levels continuous H^2 and with the maps enlarging S to S' \supseteq S, and give the identity and composition laws (for f' : H \to I, \psi : C \to B, \varphi : B \to A, the map attached to (f' \circ f, \varphi \circ \psi) is the map for (f',\psi) followed by the map for (f,\varphi)). For a single group G and a morphism \varphi : A \to B of representations, continuousH2SrMapHom is the resulting map, identity-preserving and satisfying \varphi \mathbin{;} \psi \mapsto (\text{map of }\varphi) followed by (\text{map of }\psi).
In degree one, for \varphi : \mathrm{res}_f A \to B the value of mapCocycles₁ f φ c at g is \varphi(c(f(g))); the image of the submodule H^1_{S}(r_H,A) \subseteq H^1(A) under the degree-one functoriality map of Mathlib lies in H^1_{S}(r_G,B), and continuousH1SrMap is the corresponding restricted linear map.
Relation to Mathlib
Mathlib provides the functoriality of group cohomology (groupCohomology.map, mapCocycles₁, H1π), which the degree-one maps here restrict to the S-level submodules; the S-level cochain, cocycle and coboundary submodules and the quotient continuousH2Sr are project notions, and the degree-two maps are constructed at the level of cochains.
Where it is used
The S-level continuous cohomology groups model Galois cohomology with ramification restricted outside S, as used in the Selmer-group estimates of the Fermat deduction; the maps defined here are those occurring in the associated long exact sequences, in restriction and conjugation comparisons between level maps, and in the passage from S to a larger set of primes.
References
- J. Neukirch, A. Schmidt and K. Wingberg, Cohomology of Number Fields, Grundlehren der mathematischen Wissenschaften 323, Springer, 2000
- J.-P. Serre, Galois Cohomology, Springer, 1997
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 165 lines
- 23 declarations
- used in the statements of 71 theorems and imported by 75 proofs
- imports 1 definition modules
Source file: Definitions/Def_GroupCohomology_ContinuousUnramifiedLevelMap.lean
Imported by
Declarations
- lemma
groupCohomology.IsLevelConstantSr₁.precomp - lemma
groupCohomology.IsLevelConstantSr₂.precomp - lemma
groupCohomology.cochainsPullPush₁_mem_levelCochainsSr₁ - lemma
groupCohomology.cochainsPullPush₂_mem_levelCochainsSr₂ - lemma
groupCohomology.cochainsPullPush₂_mem_levelCocyclesSr₂ - lemma
groupCohomology.cochainsPullPush₂_mem_levelCoboundariesSr₂ - def
groupCohomology.levelCocyclesSr₂Map - lemma
groupCohomology.coe_levelCocyclesSr₂Map - def
groupCohomology.continuousH2SrMap - lemma
groupCohomology.continuousH2SrMap_continuousH2Srπ - lemma
groupCohomology.continuousH2SrToContinuousH2_comp_continuousH2SrMap - lemma
groupCohomology.continuousH2SrOfLE_comp_continuousH2SrMap - lemma
groupCohomology.continuousH2SrMap_id - lemma
groupCohomology.continuousH2SrMap_comp - abbrev
groupCohomology.continuousH2SrMapHom - lemma
groupCohomology.continuousH2SrMapHom_continuousH2Srπ - lemma
groupCohomology.continuousH2SrMapHom_id - lemma
groupCohomology.continuousH2SrMapHom_comp - lemma
groupCohomology.coe_mapCocycles₁_apply - lemma
groupCohomology.map_hom_H1π - lemma
groupCohomology.map_continuousH1Sr_le - def
groupCohomology.continuousH1SrMap - lemma
groupCohomology.coe_continuousH1SrMap_apply
Source
import Mathlib import Definitions.Def_GroupCohomology_ContinuousUnramifiedLevel set_option autoImplicit false noncomputable section open CategoryTheory namespace groupCohomology universe u variable {k : Type u} [CommRing k] {G H I : Type u} [Group G] [Group H] [Group I] variable {rI : I →* (AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ)} {rH : H →* (AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ)} {rG : G →* (AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ)} (f : G →* H) (hf : ∀ g, rH (f g) = rG g) (S : Finset Nat.Primes) section precomp include hf lemma IsLevelConstantSr₁.precomp {X : Type*} {x : H → X} (hx : IsLevelConstantSr₁ rH S x) : IsLevelConstantSr₁ rG S (x ∘ f) := by obtain ⟨F, hF, h⟩ := hx refine ⟨F, hF, fun g s hs => ?_⟩ simp only [Function.comp_apply, map_mul] exact h (f g) (f s) (by rwa [hf]) lemma IsLevelConstantSr₂.precomp {X : Type*} {x : H × H → X} (hx : IsLevelConstantSr₂ rH S x) : IsLevelConstantSr₂ rG S (x ∘ Prod.map f f) := by obtain ⟨F, hF, h⟩ := hx refine ⟨F, hF, fun g g' s s' hs hs' => ?_⟩ simp only [Function.comp_apply, Prod.map_apply, map_mul] exact h (f g) (f g') (f s) (f s') (by rwa [hf]) (by rwa [hf]) end precomp section degreeTwo variable {A : Rep k H} {B : Rep k G} (φ : A →ₗ[k] B) (hφ : ∀ (g : G) (a : A), φ (A.ρ (f g) a) = B.ρ g (φ a)) include hf in lemma cochainsPullPush₁_mem_levelCochainsSr₁ {x : H → A} (hx : x ∈ levelCochainsSr₁ rH S A) : cochainsPullPush₁ f φ x ∈ levelCochainsSr₁ rG S B := ((IsLevelConstantSr₁.precomp f hf S hx).comp φ :) include hf in lemma cochainsPullPush₂_mem_levelCochainsSr₂ {x : H × H → A} (hx : x ∈ levelCochainsSr₂ rH S A) : cochainsPullPush₂ f φ x ∈ levelCochainsSr₂ rG S B := ((IsLevelConstantSr₂.precomp f hf S hx).comp φ :) include hf hφ in lemma cochainsPullPush₂_mem_levelCocyclesSr₂ {x : H × H → A} (hx : x ∈ levelCocyclesSr₂ rH S A) : cochainsPullPush₂ f φ x ∈ levelCocyclesSr₂ rG S B := ⟨cochainsPullPush₂_mem_cocycles₂ f φ hφ hx.1, cochainsPullPush₂_mem_levelCochainsSr₂ f hf S φ hx.2⟩ include hf hφ in lemma cochainsPullPush₂_mem_levelCoboundariesSr₂ {x : H × H → A} (hx : x ∈ levelCoboundariesSr₂ rH S A) : cochainsPullPush₂ f φ x ∈ levelCoboundariesSr₂ rG S B := by obtain ⟨y, hy, rfl⟩ := (mem_levelCoboundariesSr₂_iff rH S A x).1 hx exact (mem_levelCoboundariesSr₂_iff rG S B _).2 ⟨cochainsPullPush₁ f φ y, (IsLevelConstantSr₁.precomp f hf S hy).comp φ, (cochainsPullPush₂_d₁₂ f φ hφ y).symm⟩ def levelCocyclesSr₂Map : ↥(levelCocyclesSr₂ rH S A) →ₗ[k] ↥(levelCocyclesSr₂ rG S B) := (cochainsPullPush₂ f φ).restrict fun _ hx => cochainsPullPush₂_mem_levelCocyclesSr₂ f hf S φ hφ hx @[simp] lemma coe_levelCocyclesSr₂Map (x : ↥(levelCocyclesSr₂ rH S A)) : (levelCocyclesSr₂Map f hf S φ hφ x : G × G → B) = cochainsPullPush₂ f φ x := rfl def continuousH2SrMap : continuousH2Sr rH S A →ₗ[k] continuousH2Sr rG S B := Submodule.mapQ _ _ (levelCocyclesSr₂Map f hf S φ hφ) fun _ hx => cochainsPullPush₂_mem_levelCoboundariesSr₂ f hf S φ hφ hx @[simp] lemma continuousH2SrMap_continuousH2Srπ (x : ↥(levelCocyclesSr₂ rH S A)) : continuousH2SrMap f hf S φ hφ (continuousH2Srπ rH S A x) = continuousH2Srπ rG S B (levelCocyclesSr₂Map f hf S φ hφ x) := rfl lemma continuousH2SrToContinuousH2_comp_continuousH2SrMap : continuousH2SrToContinuousH2 rG S B ∘ₗ continuousH2SrMap f hf S φ hφ = continuousH2Map f hf φ hφ ∘ₗ continuousH2SrToContinuousH2 rH S A := Submodule.linearMap_qext _ (LinearMap.ext fun _ => rfl) variable {S} in lemma continuousH2SrOfLE_comp_continuousH2SrMap {S' : Finset Nat.Primes} (h : S ⊆ S') : continuousH2SrOfLE rG B h ∘ₗ continuousH2SrMap f hf S φ hφ = continuousH2SrMap f hf S' φ hφ ∘ₗ continuousH2SrOfLE rH A h := Submodule.linearMap_qext _ (LinearMap.ext fun _ => rfl) end degreeTwo section laws variable {A : Rep k G} lemma continuousH2SrMap_id : continuousH2SrMap (rH := rG) (MonoidHom.id G) (fun _ => rfl) S (LinearMap.id : A →ₗ[k] A) (fun _ _ => rfl) = LinearMap.id := Submodule.linearMap_qext _ (LinearMap.ext fun _ => rfl) variable {B : Rep k H} {C : Rep k I} (f' : H →* I) (hf' : ∀ h, rI (f' h) = rH h) (ψ : C →ₗ[k] B) (hψ : ∀ (h : H) (c : C), ψ (C.ρ (f' h) c) = B.ρ h (ψ c)) (φ : B →ₗ[k] A) (hφ : ∀ (g : G) (b : B), φ (B.ρ (f g) b) = A.ρ g (φ b)) lemma continuousH2SrMap_comp : continuousH2SrMap (f'.comp f) (fun g => by rw [MonoidHom.comp_apply, hf', hf]) S (φ ∘ₗ ψ) (fun g c => by rw [LinearMap.comp_apply, LinearMap.comp_apply, MonoidHom.comp_apply, hψ, hφ]) = continuousH2SrMap f hf S φ hφ ∘ₗ continuousH2SrMap f' hf' S ψ hψ := Submodule.linearMap_qext _ (LinearMap.ext fun _ => rfl) end laws section sameGroup variable (r : G →* (AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ)) {A B C : Rep k G} abbrev continuousH2SrMapHom (φ : A ⟶ B) : continuousH2Sr r S A →ₗ[k] continuousH2Sr r S B := continuousH2SrMap (MonoidHom.id G) (fun _ => rfl) S φ.hom.toLinearMap (fun g a => Rep.hom_comm_apply φ g a) lemma continuousH2SrMapHom_continuousH2Srπ (φ : A ⟶ B) (x : ↥(levelCocyclesSr₂ r S A)) : continuousH2SrMapHom S r φ (continuousH2Srπ r S A x) = continuousH2Srπ r S B (levelCocyclesSr₂Map (MonoidHom.id G) (fun _ => rfl) S φ.hom.toLinearMap (fun g a => Rep.hom_comm_apply φ g a) x) := rfl lemma continuousH2SrMapHom_id : continuousH2SrMapHom S r (𝟙 A) = LinearMap.id := Submodule.linearMap_qext _ (LinearMap.ext fun _ => rfl) lemma continuousH2SrMapHom_comp (φ : A ⟶ B) (ψ : B ⟶ C) : continuousH2SrMapHom S r (φ ≫ ψ) = continuousH2SrMapHom S r ψ ∘ₗ continuousH2SrMapHom S r φ := Submodule.linearMap_qext _ (LinearMap.ext fun _ => rfl) end sameGroup section degreeOne variable {A : Rep k H} {B : Rep k G} (φ : Rep.res f A ⟶ B) lemma coe_mapCocycles₁_apply (c : cocycles₁ A) (g : G) : (mapCocycles₁ f φ c : G → B) g = φ.hom (c (f g)) := rfl lemma map_hom_H1π (c : cocycles₁ A) : (groupCohomology.map f φ 1).hom ((H1π A).hom c) = (H1π B).hom (mapCocycles₁ f φ c) := by change (H1π A ≫ groupCohomology.map f φ 1).hom c = (mapCocycles₁ f φ ≫ H1π B).hom c rw [H1π_comp_map] include hf in lemma map_continuousH1Sr_le : (continuousH1Sr rH S A).map (groupCohomology.map f φ 1).hom ≤ continuousH1Sr rG S B := by rintro _ ⟨x, hx, rfl⟩ obtain ⟨c, hc, rfl⟩ := (mem_continuousH1Sr_iff rH S A x).1 hx rw [map_hom_H1π] refine H1π_mem_continuousH1Sr rG S B ?_ have hfun : ((mapCocycles₁ f φ c : cocycles₁ B) : G → B) = φ.hom ∘ (c : H → A) ∘ f := funext fun g => coe_mapCocycles₁_apply f φ c g rw [hfun] exact (IsLevelConstantSr₁.precomp f hf S hc).comp φ.hom def continuousH1SrMap : ↥(continuousH1Sr rH S A) →ₗ[k] ↥(continuousH1Sr rG S B) := (groupCohomology.map f φ 1).hom.restrict fun x hx => map_continuousH1Sr_le f hf S φ ⟨x, hx, rfl⟩ @[simp] lemma coe_continuousH1SrMap_apply (x : ↥(continuousH1Sr rH S A)) : (continuousH1SrMap f hf S φ x : H1 B) = (groupCohomology.map f φ 1).hom x := rfl end degreeOne end groupCohomology end
Statements phrased using this module (71)
- Tate's global Euler characteristic for a coinduced S-level module
groupCohomology.finiteDimensional_continuousH2S_coind_and_finrank_eq562 below · depth 17 - Mod p cyclotomic character trivial when ζₚ ∈ L
ExtCitation.cycloChar_eq_one_of_mem_fixingSubgroup_of_isPrimitiveRoot_mem0 below · depth 18 - Twisting by χ⁻¹ then by χ recovers a representation
Rep.nonempty_twist_inv_twist_iso0 below · depth 18 - Tate's Euler-characteristic formula for N(1) at level S
groupCohomology.finiteDimensional_and_finrank_continuousH1Sr_twist_cycloChar_eq_of_trivial553 below · depth 18 - Mackey decomposition of archimedean invariants of a coinduced module
groupCohomology.finrank_invariants_archimedean_coind2 below · depth 18 - Archimedean sum splits between N and N(-1)
groupCohomology.finsum_finrank_invariants_twist_inv_add_eq_index_mul1 below · depth 18 - Isomorphic representations give equivalent S-restricted H¹, H²
groupCohomology.nonempty_continuousHSr_linearEquiv_of_iso0 below · depth 18 - Equivariant mod-p S-unit rank formula with coefficients
NumberField.LevelArith.finrank_invariants_unitsModP_tensor_add_finrank_invariants_eq48 below · depth 19 - Normality of the level field under conjugation-stability
NumberField.LevelArith.normal_levelField_of_isNormalLevel0 below · depth 19 - Twisting a representation is tensoring with a twisted trivial line
Rep.nonempty_twist_iso_trivial_twist_tensor0 below · depth 19 - Kummer rank formula for H¹_S(K, N(1))
groupCohomology.finiteDimensional_and_finrank_continuousH1Sr_twist_eq_unitsModP_add_sClassTorsionP33 below · depth 19 - Dimension of H²_S(K,N(1)) via S-class group and places
groupCohomology.finiteDimensional_and_finrank_continuousH2Sr_twist_add_eq_sClassTorsionP_add_sum_placesRep492 below · depth 19 - Infinite places of a Galois extension as a G-set
NumberField.InfPlaceDecomp.exists_equiv_sigma_quotient_decomp_above0 below · depth 20 - Archimedean places of a level as Γ_L-orbits
NumberField.LevelArith.exists_placesAbove_inl_equiv_infinitePlace0 below · depth 20 - Places of the level above q as primes of 𝒪_{L'}
NumberField.LevelArith.exists_placesAbove_inr_embedding_heightOneSpectrum11 below · depth 20 - Invariant S-level classes have the dimension of Selmer tensor invariants
NumberField.LevelArith.finiteDimensional_and_finrank_continuousH1Sr_res_inf_eq_finrank_invariants_selmerRep_tensor23 below · depth 20 - Additivity of twisted invariants in the S-Selmer sequence
NumberField.LevelArith.finrank_invariants_selmerRep_tensor_eq_unitsModP_add_sClassTorsionP7 below · depth 20 - Order of Gal(L/K) as a relative index
NumberField.LevelArith.natCard_levelGal_eq_relIndex0 below · depth 20 - p-torsion of the S-units is 𝔽ₚ(χ)
NumberField.LevelArith.nonempty_inflLevel_repTorsionP_sUnitsRep_iso_twist_cycloChar0 below · depth 20 - Places above S as a disjoint union of coset spaces
NumberField.PlaceTransport.exists_equiv_placesAbove_sigma_quotient_decomp_above2 below · depth 20 - Equivariant mod-p S-unit rank identity with coefficients
NumberField.SUnits.finrank_invariants_repModP_sUnitsRep_tensor_add28 below · depth 20 - Finite primes of subfields of ℚ̄ lift to valuation subrings
NumberField.exists_valuationSubring_algebraicClosure_forall_mem_iff_valuation_le_one4 below · depth 20 - S-level H¹ via restriction to an index-prime-to-p subgroup
groupCohomology.exists_continuousH1Sr_linearEquiv_inf_of_isTrivial_of_coprime4 below · depth 20 - Equivariant splitting of S-ramified H² with μₚ coefficients
groupCohomology.finiteDimensional_and_nonempty_cyclotomicQuotientH2Rep_biprod_trivial_iso489 below · depth 20 - H²_S with cyclotomic twist as tensor invariants
groupCohomology.nonempty_continuousH2Sr_twist_linearEquiv_invariants_cyclotomicQuotientH2Rep_tensor1 below · depth 20 - Embedding of H¹_S into the S-class group
NumberField.LevelArith.exists_continuousH1Sr_sUnitsMaxRep_linearMap_sClassGroupRep_injective17 below · depth 21 - Equivariant embedding of H¹_S into the S-class group
NumberField.LevelArith.exists_continuousH1Sr_sUnitsMaxRep_linearMap_sClassGroupRep_injective_natural17 below · depth 21 - Primes above q as Γ_L-orbits on Γ/D_q
NumberField.LevelArith.exists_placesAbove_inr_equiv_primesOver12 below · depth 21 - Transporting p-torsion of the S-class group to the level representation
NumberField.LevelArith.exists_restrict_and_torsionBy_sClassGroupRep_linearEquiv_sClassTorsionP1 below · depth 21 - Kummer isomorphism for the mod p Selmer module, twisted
NumberField.LevelArith.exists_selmerRep_linearEquiv_levelConstantHom16 below · depth 21 - Finiteness of the mod p S-unit, class and Selmer modules
NumberField.LevelArith.finiteDimensional_unitsModP_sClass_selmerRep2 below · depth 21 - A[p] ≅ A/pA as ℤ/p-representations when p ∤ |G|
NumberField.LevelArith.nonempty_repTorsionP_iso_repModP1 below · depth 21 - S-prime classes: Galois-stable part equals the closure
NumberField.LevelArith.sPrimeClasses_eq_closure0 below · depth 21 - Galois stability of the maximal S-unit group
NumberField.LevelArith.sUnitsMaxStable_eq_sUnitsMax0 below · depth 21 - Galois-stable Selmer subgroup equals the Selmer group
NumberField.LevelArith.selmerStable_eq_selmer0 below · depth 21 - Additivity of Γ-invariants of (-⊗ N) along a split short exact sequence
Rep.finrank_invariants_tensor_eq_add_of_shortExact_of_trivial_of_coprime1 below · depth 21 - Pinned relative Shapiro isomorphism in degree two
groupCohomology.exists_continuousH2Sr_cyclotomicQuotientRep_equiv_pin4 below · depth 21 - Trivial finite-dimensional coefficients factor out of H²_S
groupCohomology.exists_continuousH2Sr_trivial_tensor_linearEquiv0 below · depth 21 - Natural Kummer–Brauer exact sequence for H²_S with μₚ
groupCohomology.exists_kummerBrauer_maps_continuousH2Sr_cyclotomic_natural470 below · depth 21 - H¹ of a trivial module as equivariant level-constant homomorphisms
groupCohomology.nonempty_continuousH1Sr_inf_linearEquiv_eqLevelConstantHom0 below · depth 21 - Invariants of C ⊗ N as equivariant level-constant maps
groupCohomology.nonempty_invariants_tensor_linearEquiv_eqLevelConstantHom0 below · depth 21 - Every continuous ℤ/p-character is a Kummer character
NumberField.LevelArith.exists_kummerChar_eq_of_continuous4 below · depth 22 - Inertia above w ∤ p fixes p-th roots
NumberField.LevelArith.inertia_apply_eq_of_dvd_valuation0 below · depth 22 - Conjugation rule for the Kummer character: cyclotomic twist
NumberField.LevelArith.kummerChar_conj_eq_cycloChar_mul0 below · depth 22 - Vanishing of the Kummer character detects p-th powers
NumberField.LevelArith.kummerChar_eq_zero_iff0 below · depth 22 - Level-constancy of the Kummer character via divisibility of valuations
NumberField.LevelArith.kummerChar_isLevelConstant_iff_forall_dvd_valuation7 below · depth 22 - Kummer character: bi-additive and trivial on Gal(ℚ̄/F(y))
NumberField.LevelArith.kummerChar_mul_and_add_and_level0 below · depth 22 - Mod p torsion of the S-units is 𝔽ₚ(1)
NumberField.LevelArith.nonempty_repTorsionP_sUnitsMaxRep_iso_trivial_twist_cycloChar2 below · depth 22 - Smoothness and p-divisibility of the S-unit module
NumberField.LevelArith.sUnitsMaxRep_smooth_and_divisible2 below · depth 22 - Pinned degree-two Shapiro isomorphism for ℤ/p(1)
groupCohomology.exists_continuousH2Sr_cyclotomicQuotientRep_equiv_apply_eq3 below · depth 22 - p-power-torsion level-constant 3-cocycles on S-units are coboundaries
groupCohomology.exists_isLevelConstant_d_two_three_eq_of_pPow_smul_sUnitsMax486 below · depth 22 - Kummer maps δ,ι on S-level cohomology
groupCohomology.exists_kummer_connecting_maps_continuousHSr_of_smooth_of_divisible4 below · depth 22 - Local invariants of the p-primary S-unit H²
groupCohomology.exists_natural_localInv_pPrimary_continuousH2Sr_sUnitsMax464 below · depth 22 - Local invariants on p-torsion of H²_S, with naturality
groupCohomology.exists_natural_localInv_torsionBy_continuousH2Sr_sUnitsMax465 below · depth 22 - Torsion of classes in the S-level continuous H²
groupCohomology.exists_nsmul_eq_zero_continuousH2Sr4 below · depth 22 - Kummer exactness in degrees 2–3 for S-level cohomology
groupCohomology.kummer_degreeThree_exactness_continuousH2Sr_of_smooth_of_divisible4 below · depth 22 - Naturality of Brauer local invariants under automorphisms of L
NumberField.LevelArith.apply_eq_apply_of_isBrauerLocalInv_of_algEquiv125 below · depth 23 - Existence of a local invariant map on p-primary H²_S
NumberField.LevelArith.exists_isBrauerLocalInv152 below · depth 23 - Inertia above w moves a p-th root when p ∤ v_w(x)
NumberField.LevelArith.exists_valuationSubring_inertia_apply_ne_of_not_dvd_valuation3 below · depth 23 - Reciprocity for p-primary S-ramified classes over L
NumberField.LevelArith.finsum_apply_eq_zero_of_isBrauerLocalInv403 below · depth 23 - Injectivity of any Brauer local-invariant map on p-primary classes
NumberField.LevelArith.injective_of_isBrauerLocalInv280 below · depth 23 - Realisation of sum-zero p-primary families of local invariants
NumberField.LevelArith.mem_range_of_isBrauerLocalInv_of_finsum_eq_zero422 below · depth 23 - Change of S-unit coefficients is bijective on H²
groupCohomology.bijective_continuousH2SrMap_sUnitsMaxRep_galoisSUnitsRep3 below · depth 23 - Hasse principle for 2-torsion classes split by F(i)
groupCohomology.continuousH2Sr_galoisSUnitsRep_eq_zero_of_res_adjoin_sqrt_neg_one_eq_zero266 below · depth 23 - Hasse principle for the p-primary part of H² of S-units
groupCohomology.eq_zero_of_forall_continuousH2Map_primeLocal_eq_zero_pPrimary_continuousH2Sr_sUnitsMax258 below · depth 23 - Brauer class with prescribed invariants from an idèle class
NumberField.LevelArith.exists_forall_hasBrauerLocalInvAt_of_ideleClass_hasLocalInv175 below · depth 24 - Realising p-primary sum-zero families as local invariants of idèle classes
NumberField.LevelArith.exists_level_ideleClass_hasLocalInv_of_finsum_eq_zero385 below · depth 24 - Local w-components of σ-transported H² classes agree
NumberField.LevelArith.map_prG_conj_transport_eq_map_prG_map_psi1 below · depth 24 - Local component at w ∤ S of an S-unit class vanishes
NumberField.LevelArith.map_prG_map_principalIdele_eq_zero_of_forall_comap_ne22 below · depth 24 - Hasse principle for p-primary S-unit classes H²_S(Γ_L, E_S)
groupCohomology.eq_zero_of_forall_continuousH2Map_primeLocal_archimedean_eq_zero_pPrimary_continuousH2Sr_sUnitsMax262 below · depth 24 - Presenting a p-primary S-Brauer class with prescribed local invariants
NumberField.LevelArith.exists_forall_hasBrauerLocalInvAt_of_cocycles_sUnitsRep1 below · depth 25