def
Section19.IsLipschitzContinuous
{X : Type u_1}
{Y : Type u_2}
[PseudoMetricSpace X]
[PseudoMetricSpace Y]
(f : X → Y)
:
Instances For
Instances For
theorem
Section19.IsLipschitzParametrizable.union
{X : Type u_1}
[PseudoMetricSpace X]
{A B : Set X}
{d : ℕ}
(hA : IsLipschitzParametrizable A d.succ)
(hB : IsLipschitzParametrizable B d.succ)
:
IsLipschitzParametrizable (A ∪ B) d.succ
theorem
Section19.lipschitz_floor_image_card_bound
{n d : ℕ}
(f : (Fin d → ℝ) → Fin n → ℝ)
(K : NNReal)
(hf : LipschitzWith K f)
(t : ℝ)
(ht : 1 ≤ t)
:
theorem
Section19.single_lipschitz_image_cube_count
{n d : ℕ}
(f : (Fin d → ℝ) → Fin n → ℝ)
(K : NNReal)
(hf : LipschitzWith K f)
:
theorem
Section19.outerCubeSet_finite
{n : ℕ}
(_hn : 0 < n)
(S : Set (Fin n → ℝ))
(_hS : MeasurableSet S)
(hBdd : Bornology.IsBounded S)
(t : ℝ)
(ht : 1 ≤ t)
:
(outerCubeSet S t).Finite
theorem
Section19.cube_measure_sandwich
{n : ℕ}
(hn : 0 < n)
(S : Set (Fin n → ℝ))
(hS : MeasurableSet S)
(hS_vol : MeasureTheory.volume S ≠ ⊤)
(t : ℝ)
(ht : 1 ≤ t)
(hfin_outer : (outerCubeSet S t).Finite)
:
↑(Nat.card ↑(innerCubeSet S t)) ≤ (MeasureTheory.volume S).toReal * t ^ n ∧ (MeasureTheory.volume S).toReal * t ^ n ≤ ↑(Nat.card ↑(outerCubeSet S t))
theorem
Section19.preconnected_frontier_inter
{α : Type u_1}
[TopologicalSpace α]
{s : Set α}
(hs : IsPreconnected s)
{A : Set α}
(hA : (s ∩ A).Nonempty)
(hAc : (s ∩ Aᶜ).Nonempty)
:
theorem
Section19.boundary_cubes_bound
{n : ℕ}
(hn : 0 < n)
(S : Set (Fin n → ℝ))
(hS : MeasurableSet S)
(numMaps : ℕ)
(maps : Fin numMaps → (Fin (n - 1) → ℝ) → Fin n → ℝ)
(hCover : frontier S ⊆ ⋃ (i : Fin numMaps), maps i '' Set.univ.pi fun (x : Fin (n - 1)) => Set.Icc 0 1)
(t : ℝ)
(ht : 1 ≤ t)
(hFinOuter : (outerCubeSet S t).Finite)
(hFinBdry :
∀ (i : Fin numMaps),
{v : Fin n → ℤ | ∃ y ∈ Set.univ.pi fun (x : Fin (n - 1)) => Set.Icc 0 1,
∀ (j : Fin n), ↑(v j) ≤ t * maps i y j ∧ t * maps i y j < ↑(v j) + 1}.Finite)
:
theorem
Section19.lattice_count_upper_sandwich
{n : ℕ}
(hn : 0 < n)
(S : Set (Fin n → ℝ))
(hS_meas : MeasurableSet S)
(hS_vol : MeasureTheory.volume S ≠ ⊤)
(hBdd : Bornology.IsBounded S)
(numMaps : ℕ)
(maps : Fin numMaps → (Fin (n - 1) → ℝ) → Fin n → ℝ)
(hCover : frontier S ⊆ ⋃ (i : Fin numMaps), maps i '' Set.univ.pi fun (x : Fin (n - 1)) => Set.Icc 0 1)
(t : ℝ)
(ht : 1 ≤ t)
(hFinBdry :
∀ (i : Fin numMaps),
{v : Fin n → ℤ | ∃ y ∈ Set.univ.pi fun (x : Fin (n - 1)) => Set.Icc 0 1,
∀ (j : Fin n), ↑(v j) ≤ t * maps i y j ∧ t * maps i y j < ↑(v j) + 1}.Finite)
:
theorem
Section19.lattice_count_lower_sandwich
{n : ℕ}
(hn : 0 < n)
(S : Set (Fin n → ℝ))
(hS_meas : MeasurableSet S)
(hS_vol : MeasureTheory.volume S ≠ ⊤)
(hBdd : Bornology.IsBounded S)
(numMaps : ℕ)
(maps : Fin numMaps → (Fin (n - 1) → ℝ) → Fin n → ℝ)
(hCover : frontier S ⊆ ⋃ (i : Fin numMaps), maps i '' Set.univ.pi fun (x : Fin (n - 1)) => Set.Icc 0 1)
(t : ℝ)
(ht : 1 ≤ t)
(hFinBdry :
∀ (i : Fin numMaps),
{v : Fin n → ℤ | ∃ y ∈ Set.univ.pi fun (x : Fin (n - 1)) => Set.Icc 0 1,
∀ (j : Fin n), ↑(v j) ≤ t * maps i y j ∧ t * maps i y j < ↑(v j) + 1}.Finite)
:
theorem
Section19.lattice_count_error_bound
{n : ℕ}
(hn : 0 < n)
(S : Set (Fin n → ℝ))
(hS_meas : MeasurableSet S)
(hS_vol : MeasureTheory.volume S ≠ ⊤)
(hBdd : Bornology.IsBounded S)
(numMaps : ℕ)
(maps : Fin numMaps → (Fin (n - 1) → ℝ) → Fin n → ℝ)
(hCover : frontier S ⊆ ⋃ (i : Fin numMaps), maps i '' Set.univ.pi fun (x : Fin (n - 1)) => Set.Icc 0 1)
(t : ℝ)
(ht : 1 ≤ t)
(hFinBdry :
∀ (i : Fin numMaps),
{v : Fin n → ℤ | ∃ y ∈ Set.univ.pi fun (x : Fin (n - 1)) => Set.Icc 0 1,
∀ (j : Fin n), ↑(v j) ≤ t * maps i y j ∧ t * maps i y j < ↑(v j) + 1}.Finite)
:
theorem
Section19.lattice_point_count_asymptotics
{n : ℕ}
(hn : 0 < n)
(S : Set (Fin n → ℝ))
(hS_meas : MeasurableSet S)
(hS_vol : MeasureTheory.volume S ≠ ⊤)
(hBdd : Bornology.IsBounded S)
(hS_bdry : IsLipschitzParametrizable (frontier S) (n - 1))
:
theorem
Section19.lattice_count_change_of_basis
{n : ℕ}
(_hn : 0 < n)
(S : Set (Fin n → ℝ))
(hS_meas : MeasurableSet S)
(hS_bdry : IsLipschitzParametrizable (frontier S) (n - 1))
(Λ : Submodule ℤ (Fin n → ℝ))
[DiscreteTopology ↥Λ]
[IsZLattice ℝ Λ]
(hS_vol : MeasureTheory.volume S ≠ ⊤ := by exact ENNReal.ofReal_ne_top)
(hBdd : Bornology.IsBounded S := by exact Bornology.IsBounded.empty)
:
∃ (S' : Set (Fin n → ℝ)),
MeasurableSet S' ∧ IsLipschitzParametrizable (frontier S') (n - 1) ∧ (∀ (t : ℝ),
t ≠ 0 →
↑(Nat.card ↑{x : ↥Λ | ↑x ∈ (fun (v : Fin n → ℝ) => t • v) '' S}) = ↑(Nat.card ↑{x : Fin n → ℤ | (fun (i : Fin n) => ↑(x i) / t) ∈ S'})) ∧ ZLattice.covolume Λ MeasureTheory.volume * (MeasureTheory.volume S').toReal = (MeasureTheory.volume S).toReal ∧ MeasureTheory.volume S' ≠ ⊤ ∧ Bornology.IsBounded S'
theorem
Section19.lattice_point_count_general
{n : ℕ}
(hn : 0 < n)
(S : Set (Fin n → ℝ))
(hS_meas : MeasurableSet S)
(hS_vol : MeasureTheory.volume S ≠ ⊤)
(hS_bdry : IsLipschitzParametrizable (frontier S) (n - 1))
(hBdd : Bornology.IsBounded S)
(Λ : Submodule ℤ (Fin n → ℝ))
[DiscreteTopology ↥Λ]
[IsZLattice ℝ Λ]
:
theorem
Section19.per_class_ideal_count_isBigO
(K : Type u_2)
[Field K]
[NumberField K]
(C : ClassGroup (NumberField.RingOfIntegers K))
:
(fun (s : ℝ) =>
↑(Nat.card
{ I : ↥(nonZeroDivisors (Ideal (NumberField.RingOfIntegers K))) // ↑(Ideal.absNorm ↑I) ≤ s ∧ ClassGroup.mk0 I = C }) - 2 ^ NumberField.InfinitePlace.nrRealPlaces K * (2 * Real.pi) ^ NumberField.InfinitePlace.nrComplexPlaces K * NumberField.Units.regulator K / (↑(NumberField.Units.torsionOrder K) * √|↑(NumberField.discr K)|) * s) =O[Filter.atTop] fun (s : ℝ) => s ^ (1 - 1 / ↑(Module.finrank ℚ K))
theorem
Section19.ideal_count_error_bound
(K : Type u_2)
[Field K]
[NumberField K]
:
(fun (t : ℝ) =>
↑(Nat.card { I : ↥(nonZeroDivisors (Ideal (NumberField.RingOfIntegers K))) // ↑(Ideal.absNorm ↑I) ≤ t }) - 2 ^ NumberField.InfinitePlace.nrRealPlaces K * (2 * Real.pi) ^ NumberField.InfinitePlace.nrComplexPlaces K * NumberField.Units.regulator K * ↑(NumberField.classNumber K) / (↑(NumberField.Units.torsionOrder K) * √|↑(NumberField.discr K)|) * t) =O[Filter.atTop] fun (t : ℝ) => t ^ (1 - 1 / ↑(Module.finrank ℚ K))
noncomputable def
Section19.idealToClass
(K : Type u_1)
[Field K]
[NumberField K]
(I : Ideal (NumberField.RingOfIntegers K))
(hI : I ≠ ⊥)
:
Instances For
Instances For
theorem
Section19.dirichletSeriesAbel_eq_LSeries
(f : ℕ → ℂ)
(s : ℂ)
(hf : LSeriesSummable f s)
{r : ℝ}
(hr : 0 ≤ r)
(hrs : r < s.re)
(hO : (fun (n : ℕ) => ∑ k ∈ Finset.Icc 1 n, f k) =O[Filter.atTop] fun (n : ℕ) => ↑n ^ r)
:
theorem
Section19.dirichlet_series_meromorphic_continuation
(a : ℕ → ℂ)
(σ : ℝ)
(_hσ : 0 ≤ σ)
(hσ1 : σ < 1)
(ρ : ℂ)
(_hρ : ρ ≠ 0)
(hasympt : ∃ (C : ℝ), ∀ (t : ℕ), ‖∑ i ∈ Finset.range t, a (i + 1) - ρ * ↑t‖ ≤ C * ↑t ^ σ)
:
Filter.Tendsto (fun (s : ℝ) => (↑s - 1) * dirichletSeriesContinuation a ρ ↑s) (nhdsWithin 1 (Set.Ioi 1)) (nhds ρ)
theorem
Section19.dirichlet_series_residue_complex
(a : ℕ → ℂ)
(σ : ℝ)
(_hσ : 0 ≤ σ)
(hσ1 : σ < 1)
(ρ : ℂ)
(_hρ : ρ ≠ 0)
(hasympt : ∃ (C : ℝ), ∀ (t : ℕ), ‖∑ i ∈ Finset.range t, a (i + 1) - ρ * ↑t‖ ≤ C * ↑t ^ σ)
:
Filter.Tendsto (fun (s : ℂ) => (s - 1) * dirichletSeriesContinuation a ρ s) (nhdsWithin 1 {1}ᶜ) (nhds ρ)
theorem
Section19.dedekindZeta_sub_one_mul_analyticAt
(K : Type u_1)
[Field K]
[NumberField K]
:
AnalyticAt ℂ (fun (s : ℂ) => (s - 1) * NumberField.dedekindZeta K s) 1
theorem
Section19.analytic_class_number_formula_explicit
(K : Type u_1)
[Field K]
[NumberField K]
:
Filter.Tendsto (fun (s : ℝ) => (↑s - 1) * NumberField.dedekindZeta K ↑s) (nhdsWithin 1 (Set.Ioi 1))
(nhds
↑(2 ^ NumberField.InfinitePlace.nrRealPlaces K * (2 * Real.pi) ^ NumberField.InfinitePlace.nrComplexPlaces K * NumberField.Units.regulator K * ↑(NumberField.classNumber K) / (↑(NumberField.Units.torsionOrder K) * √|↑(NumberField.discr K)|))) ∧ 0 < 2 ^ NumberField.InfinitePlace.nrRealPlaces K * (2 * Real.pi) ^ NumberField.InfinitePlace.nrComplexPlaces K * NumberField.Units.regulator K * ↑(NumberField.classNumber K) / (↑(NumberField.Units.torsionOrder K) * √|↑(NumberField.discr K)|) ∧ AnalyticAt ℂ (fun (s : ℂ) => (s - 1) * NumberField.dedekindZeta K s) 1
Instances For
theorem
Section19.isUnramifiedAtPrime_of_le
(m : ℕ)
[NeZero m]
(p : ℕ)
(E E' : IntermediateField ℚ (CyclotomicField m ℚ))
(hle : E ≤ E')
(hE' : IsUnramifiedAtPrime (↥E') p)
:
IsUnramifiedAtPrime (↥E) p
theorem
Section19.cyclotomic_ppow_unramified_at_other_primes
(m : ℕ)
[NeZero m]
(p : ℕ)
(hp : Nat.Prime p)
(E₁ : IntermediateField ℚ (CyclotomicField m ℚ))
[IsCyclotomicExtension {p ^ padicValNat p m} ℚ ↥E₁]
(q : ℕ)
(hq : Nat.Prime q)
(hqp : q ≠ p)
:
IsUnramifiedAtPrime (↥E₁) q
theorem
Section19.minkowski_no_unramified_extension
(m : ℕ)
[NeZero m]
(F : IntermediateField ℚ (CyclotomicField m ℚ))
(hF : ∀ (q : ℕ), Nat.Prime q → IsUnramifiedAtPrime (↥F) q)
:
theorem
Section19.cyclotomic_ppow_unramified_le_bot
(m : ℕ)
[NeZero m]
(p : ℕ)
(hp : Nat.Prime p)
(E₁ : IntermediateField ℚ (CyclotomicField m ℚ))
[IsCyclotomicExtension {p ^ padicValNat p m} ℚ ↥E₁]
(F : IntermediateField ℚ (CyclotomicField m ℚ))
(hFE₁ : F ≤ E₁)
(hF : IsUnramifiedAtPrime (↥F) p)
:
theorem
Section19.cyclotomic_ramIdx_eq_of_unramified
(m : ℕ)
[NeZero m]
(p : ℕ)
(E E' : IntermediateField ℚ (CyclotomicField m ℚ))
(hE' : IsUnramifiedAtPrime (↥E') p)
[Algebra ↥E ↥(E ⊔ E')]
(P : Ideal (NumberField.RingOfIntegers ↥E))
[P.IsPrime]
(hP : P.LiesOver (Ideal.span {↑p}))
(Q : Ideal (NumberField.RingOfIntegers ↥(E ⊔ E')))
[Q.IsPrime]
[Q.LiesOver P]
[Q.LiesOver (Ideal.span {↑p})]
:
theorem
Section19.baseChange_ramificationIdx_eq_one
(m : ℕ)
[NeZero m]
(p : ℕ)
(E E' : IntermediateField ℚ (CyclotomicField m ℚ))
(hE' : IsUnramifiedAtPrime (↥E') p)
[inst_alg : Algebra ↥E ↥(E ⊔ E')]
(P : Ideal (NumberField.RingOfIntegers ↥E))
[P.IsPrime]
(hP : P.LiesOver (Ideal.span {↑p}))
(Q : Ideal (NumberField.RingOfIntegers ↥(E ⊔ E')))
[Q.IsPrime]
[Q.LiesOver P]
:
theorem
Section19.isUnramifiedAtPrime_sup
(m : ℕ)
[NeZero m]
(p : ℕ)
(E E' : IntermediateField ℚ (CyclotomicField m ℚ))
(hE : IsUnramifiedAtPrime (↥E) p)
(hE' : IsUnramifiedAtPrime (↥E') p)
:
IsUnramifiedAtPrime (↥(E ⊔ E')) p
instance
Section19.cyclotomicSubgroupModular
(m : ℕ)
[NeZero m]
:
IsModularLattice (Subgroup Gal(CyclotomicField m ℚ/ℚ))
theorem
Section19.cyclotomic_coprime_sup_eq_top
(m : ℕ)
[NeZero m]
(p : ℕ)
(hp : Nat.Prime p)
(E₀ : IntermediateField ℚ (CyclotomicField m ℚ))
[IsCyclotomicExtension {pFreePart m p} ℚ ↥E₀]
(E₁ : IntermediateField ℚ (CyclotomicField m ℚ))
[IsCyclotomicExtension {p ^ padicValNat p m} ℚ ↥E₁]
:
theorem
Section19.cyclotomic_coprime_nontrivial_ext
(m : ℕ)
[NeZero m]
(p : ℕ)
(hp : Nat.Prime p)
(E₀ : IntermediateField ℚ (CyclotomicField m ℚ))
[IsCyclotomicExtension {pFreePart m p} ℚ ↥E₀]
(E₁ : IntermediateField ℚ (CyclotomicField m ℚ))
[IsCyclotomicExtension {p ^ padicValNat p m} ℚ ↥E₁]
(F : IntermediateField ℚ (CyclotomicField m ℚ))
(hE₀F : E₀ < F)
:
theorem
Section19.le_of_inf_ppow_cyclotomic_eq_bot
(m : ℕ)
[NeZero m]
(p : ℕ)
(hp : Nat.Prime p)
(E₀ : IntermediateField ℚ (CyclotomicField m ℚ))
[IsCyclotomicExtension {pFreePart m p} ℚ ↥E₀]
(E₁ : IntermediateField ℚ (CyclotomicField m ℚ))
[IsCyclotomicExtension {p ^ padicValNat p m} ℚ ↥E₁]
(E : IntermediateField ℚ (CyclotomicField m ℚ))
(hEE₁ : E ⊓ E₁ = ⊥)
(hEunram : IsUnramifiedAtPrime (↥E) p)
:
theorem
Section19.cyclotomic_unramified_intermediate_le
(m : ℕ)
[NeZero m]
(p : ℕ)
(hp : Nat.Prime p)
(E₀ : IntermediateField ℚ (CyclotomicField m ℚ))
[IsCyclotomicExtension {pFreePart m p} ℚ ↥E₀]
(E : IntermediateField ℚ (CyclotomicField m ℚ))
(hE : IsUnramifiedAtPrime (↥E) p)
:
theorem
Section19.cyclotomic_maximal_unramified_subextension
(m : ℕ)
[NeZero m]
(p : ℕ)
(hp : Nat.Prime p)
:
∃ (E₀ : IntermediateField ℚ (CyclotomicField m ℚ)),
IsCyclotomicExtension {pFreePart m p} ℚ ↥E₀ ∧ IsUnramifiedAtPrime (↥E₀) p ∧ ∀ (E : IntermediateField ℚ (CyclotomicField m ℚ)), IsUnramifiedAtPrime (↥E) p → E ≤ E₀
theorem
Section19.proposition_19_14
(m : ℕ)
[NeZero m]
(p : ℕ)
(hp : Nat.Prime p)
:
∃ (E₀ : IntermediateField ℚ (CyclotomicField m ℚ)),
IsCyclotomicExtension {pFreePart m p} ℚ ↥E₀ ∧ IsUnramifiedAtPrime (↥E₀) p ∧ ∀ (E : IntermediateField ℚ (CyclotomicField m ℚ)), IsUnramifiedAtPrime (↥E) p → E ≤ E₀
theorem
Section19.subgroup_dual_correspondence
(G : Type u_1)
[CommGroup G]
[Fintype G]
:
Nonempty (Subgroup G ≃o (Subgroup (G →* ℂˣ))ᵒᵈ) ∧ (∀ (K : Subgroup (G →* ℂˣ)) (g : G), g ∈ (subgroupDualOrderIso G).symm (OrderDual.toDual K) ↔ ∀ χ ∈ K, χ g = 1) ∧ (∀ (H : Subgroup G), Nat.card ↥H * Nat.card ↥(MonoidHom.restrictHom H ℂˣ).ker = Nat.card G) ∧ ∀ (K : Subgroup (G →* ℂˣ)),
Nat.card ↥K * Nat.card ↥((subgroupDualOrderIso G).symm (OrderDual.toDual K)) = Nat.card G
Instances For
noncomputable def
Section19.galoisAnnihilator
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
:
Subgroup Gal(CyclotomicField m ℚ/ℚ)
Instances For
noncomputable def
Section19.fixedFieldOfCharacterSubgroup
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
:
Instances For
instance
Section19.instNumberFieldFixedField
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
:
noncomputable def
Section19.dedekindZetaLocalFactor
(K : Type u_1)
[Field K]
[NumberField K]
(p : ℕ)
(s : ℂ)
:
Instances For
noncomputable def
Section19.characterLocalFactor
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(s : ℂ)
:
Instances For
noncomputable def
Section19.frobenius_f_p
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(_hp : Nat.Prime p)
:
Instances For
noncomputable def
Section19.frobenius_g_p
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
:
Instances For
theorem
Section19.frobenius_f_p_pos
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
:
theorem
Section19.artin_eval_surjective_aux
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
(hcop : p.Coprime m)
(μ : ℂ)
:
μ ∈ Polynomial.nthRootsFinset (frobenius_f_p m H p hp) 1 →
∃ (χ : ↥H), (evalAtUnit m H (ZMod.unitOfCoprime p hcop)) χ = μ
theorem
Section19.artin_eval_fiber_uniform_aux
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
(hcop : p.Coprime m)
:
have f_p := frobenius_f_p m H p hp;
have g_p := frobenius_g_p m H p hp;
∀ μ ∈ Polynomial.nthRootsFinset f_p 1, {χ : ↥H | ↑χ ↑p = μ}.card = g_p
theorem
Section19.artin_eval_fiber_uniform
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
(hcop : p.Coprime m)
:
have f_p := frobenius_f_p m H p hp;
have g_p := frobenius_g_p m H p hp;
(∀ (χ : ↥H), ↑χ ↑p ∈ Polynomial.nthRootsFinset f_p 1) ∧ ∀ μ ∈ Polynomial.nthRootsFinset f_p 1, {χ : ↥H | ↑χ ↑p = μ}.card = g_p
theorem
Section19.frobenius_character_distribution_identity
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
(hcop : p.Coprime m)
(T : ℂ)
:
∏ χ : ↥H, (1 - ↑χ ↑p * T) = (∏ μ ∈ Polynomial.nthRootsFinset (frobenius_f_p m H p hp) 1, (1 - μ * T)) ^ frobenius_g_p m H p hp
theorem
Section19.artin_reciprocity_efg_identity
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
:
Fintype.card
{ I : Ideal (NumberField.RingOfIntegers ↥(fixedFieldOfCharacterSubgroup m H)) // I.IsPrime ∧ I ≠ ⊥ ∧ ↑p ∈ I } * frobenius_f_p m H p hp = Fintype.card ↥H
theorem
Section19.artin_reciprocity_card_primes_mul_f_eq_card_H
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
:
Fintype.card
{ I : Ideal (NumberField.RingOfIntegers ↥(fixedFieldOfCharacterSubgroup m H)) // I.IsPrime ∧ I ≠ ⊥ ∧ ↑p ∈ I } * frobenius_f_p m H p hp = Fintype.card ↥H
theorem
Section19.primes_above_card
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
:
Fintype.card
{ I : Ideal (NumberField.RingOfIntegers ↥(fixedFieldOfCharacterSubgroup m H)) // I.IsPrime ∧ I ≠ ⊥ ∧ ↑p ∈ I } = frobenius_g_p m H p hp
theorem
Section19.inertiaDeg_eq_frobenius_f_p
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
(𝔭 : Ideal (NumberField.RingOfIntegers ↥(fixedFieldOfCharacterSubgroup m H)))
(h𝔭_prime : 𝔭.IsPrime)
(h𝔭_ne_bot : 𝔭 ≠ ⊥)
(h𝔭_mem : ↑p ∈ 𝔭)
[𝔭.LiesOver (Ideal.span {↑p})]
:
theorem
Section19.frobenius_local_factor
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
(s : ℂ)
:
dedekindZetaLocalFactor (↥(fixedFieldOfCharacterSubgroup m H)) p s = (1 - ↑p ^ (-(s * ↑(frobenius_f_p m H p hp))))⁻¹ ^ frobenius_g_p m H p hp
theorem
Section19.frobenius_character_distribution
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
(hcop : p.Coprime m)
:
theorem
Section19.artin_reciprocity_frobenius_distribution
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(p : ℕ)
(hp : Nat.Prime p)
(hcop : p.Coprime m)
(s : ℂ)
:
Instances For
theorem
Section19.idealNormCount_mul_coprime
(K : Type u_1)
[Field K]
[NumberField K]
{m n : ℕ}
(hmn : m.Coprime n)
(hm : m ≠ 0)
(hn : n ≠ 0)
:
Nat.card { I : Ideal (NumberField.RingOfIntegers K) // Ideal.absNorm I = m * n } = Nat.card { I : Ideal (NumberField.RingOfIntegers K) // Ideal.absNorm I = m } * Nat.card { J : Ideal (NumberField.RingOfIntegers K) // Ideal.absNorm J = n }
theorem
Section19.dedekindZetaTerm_mul_coprime
(K : Type u_1)
[Field K]
[NumberField K]
(s : ℂ)
{m n : ℕ}
(hmn : m.Coprime n)
:
theorem
Section19.dedekindZetaTerm_normSummable
(K : Type u_1)
[Field K]
[NumberField K]
(s : ℂ)
(hs : 1 < s.re)
:
Summable fun (n : ℕ) => ‖dedekindZetaTerm K s n‖
theorem
Section19.absNorm_prime_above_is_prime_pow
(K : Type u_1)
[Field K]
[NumberField K]
(p : Nat.Primes)
(𝔭 : Ideal (NumberField.RingOfIntegers K))
(h𝔭 : 𝔭.IsPrime ∧ 𝔭 ≠ ⊥ ∧ ↑↑p ∈ 𝔭)
:
@[implicit_reducible]
noncomputable instance
Section19.primesAbove_fintype
(K : Type u_1)
[Field K]
[NumberField K]
(p : Nat.Primes)
:
theorem
Section19.idealCount_localFactor_identity
(K : Type u_1)
[Field K]
[NumberField K]
(s : ℂ)
(hs : 1 < s.re)
(p : Nat.Primes)
:
theorem
Section19.idealCount_localFactor_tsum_eq
(K : Type u_1)
[Field K]
[NumberField K]
(s : ℂ)
(hs : 1 < s.re)
(p : Nat.Primes)
:
theorem
Section19.dedekindZetaTerm_localFactor_eq
(K : Type u_1)
[Field K]
[NumberField K]
(s : ℂ)
(hs : 1 < s.re)
(p : Nat.Primes)
:
theorem
Section19.dedekindZeta_hasProd_localFactor
(K : Type u_1)
[Field K]
[NumberField K]
(s : ℂ)
(hs : 1 < s.re)
:
HasProd (fun (p : Nat.Primes) => dedekindZetaLocalFactor K (↑p) s) (NumberField.dedekindZeta K s)
theorem
Section19.LSeries_prod_eq_tprod_localFactor
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(s : ℂ)
(hs : 1 < s.re)
:
theorem
Section19.euler_product_determines_equality
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(s : ℂ)
(hs : 1 < s.re)
(hfactors :
∀ (p : ℕ),
Nat.Prime p → dedekindZetaLocalFactor (↥(fixedFieldOfCharacterSubgroup m H)) p s = characterLocalFactor m H p s)
:
NumberField.dedekindZeta (↥(fixedFieldOfCharacterSubgroup m H)) s = ∏ χ : ↥H, LSeries (fun (n : ℕ) => ↑χ ↑n) s
theorem
Section19.conductor_reduction_data
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(s : ℂ)
(hs : 1 < s.re)
(p : ℕ)
(hp : Nat.Prime p)
(hram : ¬p.Coprime m)
:
∃ (m' : ℕ) (x : NeZero m') (H' : Subgroup (DirichletCharacter ℂ m')),
m' < m ∧ NumberField.dedekindZeta (↥(fixedFieldOfCharacterSubgroup m H)) s = NumberField.dedekindZeta (↥(fixedFieldOfCharacterSubgroup m' H')) s ∧ ∏ χ : ↥H, LSeries (fun (n : ℕ) => ↑χ ↑n) s = ∏ χ : ↥H', LSeries (fun (n : ℕ) => ↑χ ↑n) s
theorem
Section19.conductor_reduction_at_ramified_prime
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(s : ℂ)
(hs : 1 < s.re)
(p : ℕ)
(hp : Nat.Prime p)
(hram : ¬p.Coprime m)
(ih :
∀ (m' : ℕ) [inst : NeZero m'] (H' : Subgroup (DirichletCharacter ℂ m')),
m' < m →
NumberField.dedekindZeta (↥(fixedFieldOfCharacterSubgroup m' H')) s = ∏ χ : ↥H', LSeries (fun (n : ℕ) => ↑χ ↑n) s)
:
NumberField.dedekindZeta (↥(fixedFieldOfCharacterSubgroup m H)) s = ∏ χ : ↥H, LSeries (fun (n : ℕ) => ↑χ ↑n) s
@[irreducible]
theorem
Section19.conductor_reduction_global
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(s : ℂ)
(hs : 1 < s.re)
:
NumberField.dedekindZeta (↥(fixedFieldOfCharacterSubgroup m H)) s = ∏ χ : ↥H, LSeries (fun (n : ℕ) => ↑χ ↑n) s
theorem
Section19.subgroup_dedekindZeta_eq_LSeries_prod
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(s : ℂ)
(hs : 1 < s.re)
:
NumberField.dedekindZeta (↥(fixedFieldOfCharacterSubgroup m H)) s = ∏ χ : ↥H, LSeries (fun (n : ℕ) => ↑χ ↑n) s
theorem
Section19.subgroup_zeta_eq_prod_L_functions
(m : ℕ)
[NeZero m]
(H : Subgroup (DirichletCharacter ℂ m))
(s : ℂ)
(hs : 1 < s.re)
:
NumberField.dedekindZeta (↥(fixedFieldOfCharacterSubgroup m H)) s = ∏ χ : ↥H, DirichletCharacter.LFunction (↑χ) s
theorem
Section19.dirichlet_L_ne_zero_at_one
{N : ℕ}
[NeZero N]
{χ : DirichletCharacter ℂ N}
(hχ : χ ≠ 1)
: