Definitions/Def_ArtinL_Conductor.lean
Artin conductor of a complex Galois representation
Fix n and write \Gamma_{\mathbb Q}=\operatorname{Gal}(\overline{\mathbb Q}/\mathbb Q) for the automorphism group of \overline{\mathbb Q}=\mathtt{AlgebraicClosure}\ \mathbb Q over \mathbb Q. For a homomorphism \rho\colon\Gamma_{\mathbb Q}\to\mathrm{GL}_n(\mathbb C), ArtinL.splittingField is the intermediate field K_\rho=\overline{\mathbb Q}^{\ker\rho}, the fixed field of the kernel; ArtinL.apply_mem_splittingField records that K_\rho is stable under every \sigma\in\Gamma_{\mathbb Q} (because \ker\rho is normal), and the accompanying instance makes K_\rho a \Gamma_{\mathbb Q}-set by semiring automorphisms, with the evident compatibility with the inclusion into \overline{\mathbb Q}. For a valuation subring A\subseteq\overline{\mathbb Q}, ArtinL.placeUnder is the valuation subring A\cap K_\rho of K_\rho, obtained as the comap of A along K_\rho\hookrightarrow\overline{\mathbb Q}; ArtinL.smul_mem_placeUnder shows it is preserved by the decomposition subgroup D_A\subseteq\Gamma_{\mathbb Q} of A over \mathbb Q, which consequently acts on it by ring automorphisms.
On this basis, ArtinL.ramificationGroup ρ A i is the subgroup of \Gamma_{\mathbb Q} cut out as the intersection of A.\mathtt{inertiaSubgroupIn}\ \mathbb Q (the image in \Gamma_{\mathbb Q} of the inertia subgroup of A) with the image of \{\sigma\in D_A:\ \sigma x-x\in\mathfrak m^{\,i+1}\ \text{for all}\ x\in A\cap K_\rho\}, where \mathfrak m is the maximal ideal of A\cap K_\rho; this is the i-th lower ramification group of K_\rho at the place A, intersected with inertia. Next, ArtinL.codimInvariants ρ H is the truncated difference n-\dim_{\mathbb C}(\mathbb C^n)^H, the invariants being those of the matrix representation attached to \rho restricted to H. The rational number ArtinL.swanConductor ρ A is the finsum over i:\mathbb N of \frac{|\rho(G_{i+1})|}{|\rho(I_A)|}\cdot\operatorname{codim}(\mathbb C^n)^{G_{i+1}}, with G_j= ramificationGroup ρ A j and I_A the inertia subgroup; ArtinL.conductorExponentAt adds \operatorname{codim}(\mathbb C^n)^{I_A} to the natural-number ceiling of the Swan term. Finally ArtinL.conductorExponent ρ p is this quantity at a chosen valuation subring lying over p (i.e. with p a non-unit in it) when p is prime and such a subring exists, and 0 otherwise, and ArtinL.conductor ρ is the finprod \prod_p p^{\,f(\rho,p)}.
Relation to Mathlib
Mathlib supplies valuation-theoretic decomposition and inertia subgroups; the lower ramification groups used here come from the project's IsLocalRing.lowerRamificationGroup (the inertia of \mathfrak m^{i+1}), and inertiaSubgroupIn as well as the Artin conductor, Swan conductor and conductor exponent of a complex Galois representation are the project's own notions.
Where it is used
These definitions give the conductor appearing in the L-function package for complex Galois representations, and hence the level attached to an odd two-dimensional representation; they are used by the statement modules that relate conductors, levels and the representations arising from a Frey package.
References
- J.-P. Serre, Corps locaux, Hermann, Paris, 1968 (English translation: Local Fields, Graduate Texts in Mathematics 67, Springer, 1979), Ch. IV §1 and Ch. VI §§1–2
- E. Artin, Die gruppentheoretische Struktur der Diskriminanten algebraischer Zahlkörper, Journal für die reine und angewandte Mathematik 164 (1931), 1–11
- P. Deligne and J.-P. Serre, Formes modulaires de poids 1, Annales scientifiques de l'École Normale Supérieure (4) 7 (1974), 507–530
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 107 lines
- 15 declarations
- used in the statements of 5 theorems and imported by 6 proofs
- imports 2 definition modules
Source file: Definitions/Def_ArtinL_Conductor.lean
Imported by
- no other definition module
Declarations
- def
ArtinL.splittingField - theorem
ArtinL.apply_mem_splittingField - instance
ArtinL.mulSemiringActionSplittingField - theorem
ArtinL.coe_smul_splittingField - def
ArtinL.placeUnder - theorem
ArtinL.mem_placeUnder_iff - theorem
ArtinL.smul_mem_placeUnder - instance
ArtinL.mulSemiringActionPlaceUnder - theorem
ArtinL.coe_coe_smul_placeUnder - def
ArtinL.ramificationGroup - def
ArtinL.codimInvariants - def
ArtinL.swanConductor - def
ArtinL.conductorExponentAt - def
ArtinL.conductorExponent - def
ArtinL.conductor
Source
import Mathlib import Definitions.Def_ArtinL_EulerFactor import Definitions.Def_Mathlib_RingTheory_Valuation_LowerRamificationGroup set_option autoImplicit false noncomputable section open scoped MatrixGroups Pointwise namespace ArtinL variable {n : ℕ} local notation "Γℚ" => (AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ) local notation "ℚbar" => AlgebraicClosure ℚ def splittingField (ρ : Γℚ →* GL (Fin n) ℂ) : IntermediateField ℚ ℚbar := IntermediateField.fixedField ρ.ker theorem apply_mem_splittingField (ρ : Γℚ →* GL (Fin n) ℂ) (σ : Γℚ) {x : ℚbar} (hx : x ∈ splittingField ρ) : σ x ∈ splittingField ρ := by rintro ⟨τ, hτ⟩ change τ (σ x) = σ x have hmem : σ⁻¹ * τ * σ ∈ ρ.ker := by rw [MonoidHom.mem_ker] at hτ ⊢ rw [map_mul, map_mul, hτ, mul_one, ← map_mul, inv_mul_cancel, map_one] have h := hx ⟨σ⁻¹ * τ * σ, hmem⟩ change (σ⁻¹ * τ * σ) x = x at h simpa [AlgEquiv.mul_apply] using congrArg σ h instance mulSemiringActionSplittingField (ρ : Γℚ →* GL (Fin n) ℂ) : MulSemiringAction Γℚ (splittingField ρ) where smul σ x := ⟨σ (x : ℚbar), apply_mem_splittingField ρ σ x.2⟩ one_smul _ := Subtype.ext rfl mul_smul _ _ _ := Subtype.ext rfl smul_zero σ := Subtype.ext (map_zero σ) smul_add σ x y := Subtype.ext (map_add σ (x : ℚbar) (y : ℚbar)) smul_one σ := Subtype.ext (map_one σ) smul_mul σ x y := Subtype.ext (map_mul σ (x : ℚbar) (y : ℚbar)) @[simp] theorem coe_smul_splittingField (ρ : Γℚ →* GL (Fin n) ℂ) (σ : Γℚ) (x : splittingField ρ) : ((σ • x : splittingField ρ) : ℚbar) = σ (x : ℚbar) := rfl def placeUnder (ρ : Γℚ →* GL (Fin n) ℂ) (A : ValuationSubring ℚbar) : ValuationSubring (splittingField ρ) := A.comap (algebraMap (splittingField ρ) ℚbar) theorem mem_placeUnder_iff (ρ : Γℚ →* GL (Fin n) ℂ) (A : ValuationSubring ℚbar) (x : splittingField ρ) : x ∈ placeUnder ρ A ↔ (x : ℚbar) ∈ A := Iff.rfl theorem smul_mem_placeUnder (ρ : Γℚ →* GL (Fin n) ℂ) (A : ValuationSubring ℚbar) (σ : A.decompositionSubgroup ℚ) {x : splittingField ρ} (hx : x ∈ placeUnder ρ A) : (σ : Γℚ) • x ∈ placeUnder ρ A := by rw [mem_placeUnder_iff] at hx ⊢ have h : (σ : Γℚ) • (x : ℚbar) ∈ (σ : Γℚ) • (A : ValuationSubring ℚbar) := Set.smul_mem_smul_set hx rw [σ.2] at h exact h instance mulSemiringActionPlaceUnder (ρ : Γℚ →* GL (Fin n) ℂ) (A : ValuationSubring ℚbar) : MulSemiringAction (A.decompositionSubgroup ℚ) (placeUnder ρ A) where smul σ x := ⟨(σ : Γℚ) • (x : splittingField ρ), smul_mem_placeUnder ρ A σ x.2⟩ one_smul x := Subtype.ext (one_smul Γℚ (x : splittingField ρ)) mul_smul σ τ x := Subtype.ext (mul_smul (σ : Γℚ) (τ : Γℚ) (x : splittingField ρ)) smul_zero σ := Subtype.ext (smul_zero (σ : Γℚ)) smul_add σ x y := Subtype.ext (smul_add (σ : Γℚ) (x : splittingField ρ) (y : splittingField ρ)) smul_one σ := Subtype.ext (smul_one (σ : Γℚ)) smul_mul σ x y := Subtype.ext (MulSemiringAction.smul_mul (σ : Γℚ) (x : splittingField ρ) (y : splittingField ρ)) @[simp] theorem coe_coe_smul_placeUnder (ρ : Γℚ →* GL (Fin n) ℂ) (A : ValuationSubring ℚbar) (σ : A.decompositionSubgroup ℚ) (x : placeUnder ρ A) : (((σ • x : placeUnder ρ A) : splittingField ρ) : ℚbar) = (σ : Γℚ) ((x : splittingField ρ) : ℚbar) := rfl def ramificationGroup (ρ : Γℚ →* GL (Fin n) ℂ) (A : ValuationSubring ℚbar) (i : ℕ) : Subgroup Γℚ := A.inertiaSubgroupIn ℚ ⊓ (IsLocalRing.lowerRamificationGroup (placeUnder ρ A) (A.decompositionSubgroup ℚ) i).map (A.decompositionSubgroup ℚ).subtype def codimInvariants (ρ : Γℚ →* GL (Fin n) ℂ) (H : Subgroup Γℚ) : ℕ := n - Module.finrank ℂ (invariantsUnder ρ H) def swanConductor (ρ : Γℚ →* GL (Fin n) ℂ) (A : ValuationSubring ℚbar) : ℚ := ∑ᶠ i : ℕ, (Nat.card ((ramificationGroup ρ A (i + 1)).map ρ) : ℚ) / (Nat.card ((A.inertiaSubgroupIn ℚ).map ρ) : ℚ) * (codimInvariants ρ (ramificationGroup ρ A (i + 1)) : ℚ) def conductorExponentAt (ρ : Γℚ →* GL (Fin n) ℂ) (A : ValuationSubring ℚbar) : ℕ := codimInvariants ρ (A.inertiaSubgroupIn ℚ) + ⌈swanConductor ρ A⌉₊ open scoped Classical in def conductorExponent (ρ : Γℚ →* GL (Fin n) ℂ) (p : ℕ) : ℕ := if h : p.Prime ∧ ∃ A : ValuationSubring ℚbar, A.LiesOverPrime p then conductorExponentAt ρ h.2.choose else 0 def conductor (ρ : Γℚ →* GL (Fin n) ℂ) : ℕ := ∏ᶠ p : ℕ, p ^ conductorExponent ρ p end ArtinL end
Statements phrased using this module (5)
- Tame case: Artin conductor exponent plus inertia invariants equal n
ArtinL.conductorExponent_add_finrank_inertiaInvariants_eq3 below · depth 11 - Functional equation for odd two-dimensional Artin L-functions
ArtinL.exists_completedLSeries_functionalEquation_of_odd377 below · depth 11 - Conductor–discriminant relation for virtual sums of induced characters
ArtinL.conductor_mul_prod_pow_eq_prod_pow_of_trace_eq_sum55 below · depth 12 - Rational Artin conductor exponent as a character sum
ArtinL.codimInvariants_add_swanConductor_eq_finsum_card_mul_sub_sum_trace_of_comp_restrictNormalHom34 below · depth 13 - Local conductor–discriminant formula for an induced character
ArtinL.finsum_card_mul_sub_sum_induced_eq_factorization_discr_mul_absNorm_conductor34 below · depth 13