Documentation

Atlas.NumberTheoryI.code.RayClassFields

inductive RayClassField.Place (K : Type u_1) [Field K] [NumberField K] :
Type u_1
Instances For
    Instances For
      structure RayClassField.Modulus (K : Type u_2) [Field K] [NumberField K] :
      Type u_2
      Instances For
        @[implicit_reducible]
        structure RayClassField.SimpleModulus (K : Type u_2) [Field K] [NumberField K] :
        Type u_2
        Instances For
          theorem RayClassField.SimpleModulus.ext {K : Type u_2} {inst✝ : Field K} {inst✝¹ : NumberField K} {x y : SimpleModulus K} (finite_part : x.finite_part = y.finite_part) (infinite_part : x.infinite_part = y.infinite_part) :
          x = y
          Instances For
            def RayClassField.Modulus.dvd {K : Type u_1} [Field K] [NumberField K] (𝔪 𝔫 : Modulus K) :
            Instances For
              def RayClassField.Modulus.gcd {K : Type u_1} [Field K] [NumberField K] (𝔪 𝔫 : Modulus K) :
              Instances For
                def RayClassField.Modulus.lcm {K : Type u_1} [Field K] [NumberField K] (𝔪 𝔫 : Modulus K) :
                Instances For
                  Instances For
                    @[reducible, inline]
                    abbrev RayClassField.FinitePlace (K : Type u_2) [Field K] [NumberField K] :
                    Type u_2
                    Instances For
                      @[reducible, inline]
                      abbrev RayClassField.FracIdeal (K : Type u_2) [Field K] [NumberField K] :
                      Type u_2
                      Instances For
                        Instances For
                          Instances For
                            Instances For
                              @[implicit_reducible]
                              def RayClassField.IsRayGenerator {K : Type u_1} [Field K] [NumberField K] (𝔪 : Modulus K) (I : FracIdealsCoprime K 𝔪) :
                              Instances For
                                Instances For
                                  def RayClassField.RayClassGroup (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                  Instances For
                                    @[implicit_reducible]
                                    Instances For
                                      noncomputable def RayClassField.FrobeniusAutomorphism (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] (𝔭 : FinitePlace K) :
                                      Gal(L/K)
                                      Instances For
                                        noncomputable def RayClassField.primeAsUnitFracIdeal (K : Type u) [Field K] [NumberField K] (𝔭 : FinitePlace K) :
                                        Instances For
                                          noncomputable def RayClassField.primeCoprime (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) (𝔭 : FinitePlace K) (h𝔭 : 𝔪.toFun (Place.finite 𝔭) = 0) :
                                          Instances For
                                            Instances For
                                              theorem RayClassField.primeCoprime_val (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) (𝔭 : FinitePlace K) (h𝔭 : 𝔪.toFun (Place.finite 𝔭) = 0) :
                                              (primeCoprime K 𝔪 𝔭 h𝔭) = primeAsUnitFracIdeal K 𝔭
                                              @[reducible, inline]
                                              abbrev RayClassField.CoprimePrimes (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                              Instances For
                                                noncomputable def RayClassField.freeGroupToCoprime (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                Instances For
                                                  noncomputable def RayClassField.freeGroupToGal (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] (𝔪 : Modulus K) :
                                                  FreeGroup (CoprimePrimes K 𝔪) →* Gal(L/K)
                                                  Instances For
                                                    theorem RayClassField.primesCoprime_eq_range (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                    primesCoprime K 𝔪 = Set.range fun (p : CoprimePrimes K 𝔪) => primeCoprime K 𝔪 p
                                                    theorem RayClassField.artinMapExists (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [KroneckerWeber.IsAbelianExtension K L] (𝔪 : Modulus K) :
                                                    ∃ (ψ : FracIdealsCoprime K 𝔪 →* Gal(L/K)), ∀ (𝔭 : FinitePlace K) (h𝔭 : 𝔪.toFun (Place.finite 𝔭) = 0), ψ (primeCoprime K 𝔪 𝔭 h𝔭) = FrobeniusAutomorphism K L 𝔭
                                                    noncomputable def RayClassField.ArtinMap (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [KroneckerWeber.IsAbelianExtension K L] (𝔪 : Modulus K) :
                                                    FracIdealsCoprime K 𝔪 →* Gal(L/K)
                                                    Instances For
                                                      theorem RayClassField.artinMap_at_prime_eq_frobenius (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [KroneckerWeber.IsAbelianExtension K L] (𝔪 : Modulus K) (𝔭 : FinitePlace K) (h𝔭 : 𝔪.toFun (Place.finite 𝔭) = 0) :
                                                      (ArtinMap K L 𝔪) (primeCoprime K 𝔪 𝔭 h𝔭) = FrobeniusAutomorphism K L 𝔭
                                                      Instances For
                                                        Instances For
                                                          def RayClassField.UnitsCoprime (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                          Instances For
                                                            theorem RayClassField.embedding_im_zero {K : Type u_1} [Field K] {w : NumberField.InfinitePlace K} (hw : w.IsReal) (x : K) :
                                                            (w.embedding x).im = 0
                                                            Instances For
                                                              def RayClassField.QuotientUnits (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                              Instances For
                                                                @[implicit_reducible]
                                                                Instances For
                                                                  Instances For
                                                                    @[implicit_reducible]
                                                                    noncomputable instance RayClassField.instCommGroupSignsTimesUnits (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                                    noncomputable instance RayClassField.instFintypeSignsTimesUnits (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                                    theorem RayClassField.lemma_21_7_ideal_class_coprime_rep (A : Type u_2) [CommRing A] [IsDomain A] [IsDedekindDomain A] (𝔞 : Ideal A) (c : ClassGroup A) (h𝔞 : 𝔞 ) :
                                                                    ∃ (I : (nonZeroDivisors (Ideal A))), ClassGroup.mk0 I = c ∀ (𝔭 : IsDedekindDomain.HeightOneSpectrum A), 𝔭.asIdeal 𝔞¬𝔭.asIdeal I
                                                                    noncomputable def RayClassField.principalIdealMap {K : Type u_1} [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                                    Instances For
                                                                      noncomputable def RayClassField.exactSeq_map3 {K : Type u_1} [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                                      Instances For
                                                                        Instances For
                                                                          theorem RayClassField.embedding_re_ne_zero {K : Type u_1} [Field K] {w : NumberField.InfinitePlace K} (hw : w.IsReal) (a : Kˣ) :
                                                                          (w.embedding a).re 0
                                                                          noncomputable def RayClassField.signAtPlace {K : Type u_1} [Field K] {w : NumberField.InfinitePlace K} (_hw : w.IsReal) (α : Kˣ) :
                                                                          Instances For
                                                                            theorem RayClassField.signAtPlace_mul {K : Type u_1} [Field K] {w : NumberField.InfinitePlace K} (hw : w.IsReal) (a b : Kˣ) :
                                                                            signAtPlace hw (a * b) = signAtPlace hw a + signAtPlace hw b
                                                                            theorem RayClassField.signAtPlace_eq_zero_iff {K : Type u_1} [Field K] {w : NumberField.InfinitePlace K} (hw : w.IsReal) (α : Kˣ) :
                                                                            signAtPlace hw α = 0 0 < (w.embedding α).re
                                                                            noncomputable def RayClassField.signMapHom (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                                            Instances For
                                                                              Instances For
                                                                                theorem RayClassField.finset_prod_ideal_le_factor {R : Type u_2} [CommRing R] {ι : Type u_3} [DecidableEq ι] (S : Finset ι) (f : ιIdeal R) (j : ι) (hj : j S) :
                                                                                S.prod f f j
                                                                                theorem RayClassField.unit_mod_ideal_not_in_prime {R : Type u_2} [CommRing R] {I 𝔭 : Ideal R} (hI𝔭 : I 𝔭) (h𝔭 : 𝔭 ) {b : R} (hb : IsUnit ((Ideal.Quotient.mk I) b)) :
                                                                                b𝔭
                                                                                theorem RayClassField.finitePartMapHom_ker_iff {K : Type u_1} [Field K] [NumberField K] (𝔪 : Modulus K) (α : (UnitsCoprime_subgroup' K 𝔪)) :
                                                                                (finitePartMapHom K 𝔪) α = 1 ∀ (v : FinitePlace K), 𝔪.toFun (Place.finite v) 0(IsDedekindDomain.HeightOneSpectrum.valuation K v) (α - 1) (Multiplicative.ofAdd (-(𝔪.toFun (Place.finite v))))
                                                                                theorem RayClassField.weak_approx_nonzero_with_val_and_sign {K : Type u_2} [Field K] [NumberField K] (𝔪 : Modulus K) (pos : 𝔪.infSupportFinsetProp) [DecidablePred pos] :
                                                                                ∃ (x : K) (_ : x 0), (∀ (v : FinitePlace K), 𝔪.toFun (Place.finite v) 0(IsDedekindDomain.HeightOneSpectrum.valuation K v) x = 1) ∀ (w : NumberField.InfinitePlace K) (hw : w 𝔪.infSupportFinset), (pos w, hw0 < (w.embedding x).re) (¬pos w, hw(w.embedding x).re < 0)
                                                                                theorem RayClassField.weak_approx_sign_coprime {K : Type u_2} [Field K] [NumberField K] (𝔪 : Modulus K) (s : 𝔪.infSupportFinsetMultiplicative (ZMod 2)) :
                                                                                ∃ (α : Kˣ), (∀ (v : FinitePlace K), 𝔪.toFun (Place.finite v) 0(IsDedekindDomain.HeightOneSpectrum.valuation K v) α = 1) ∀ (w : NumberField.InfinitePlace K) (hw : w 𝔪.infSupportFinset), Multiplicative.ofAdd (signAtPlace α) = s w, hw
                                                                                theorem RayClassField.signMapHom_surjective.signMapHom_surjective_aux {K : Type u_1} [Field K] [NumberField K] (𝔪 : Modulus K) (s : 𝔪.infSupportFinsetMultiplicative (ZMod 2)) :
                                                                                ∃ (α : (UnitsCoprime_subgroup' K 𝔪)), (signMapHom K 𝔪) α = s
                                                                                @[implicit_reducible]
                                                                                noncomputable instance RayClassField.instFintypeQuotientUnits (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                                                noncomputable instance RayClassField.instFintypeRayClassGroup (K : Type u) [Field K] [NumberField K] (𝔪 : Modulus K) :
                                                                                @[reducible, inline]
                                                                                abbrev RayClassField.Prime' (K : Type u_2) [Field K] [NumberField K] :
                                                                                Type u_2
                                                                                Instances For
                                                                                  noncomputable def RayClassField.partialDedekindZeta (K : Type u_2) [Field K] [NumberField K] (S : Set (Prime' K)) :
                                                                                  Instances For
                                                                                    theorem RayClassField.eulerFactor_analyticAt_one {K : Type u_2} [Field K] [NumberField K] (𝔭 : Prime' K) :
                                                                                    AnalyticAt (fun (s : ) => (1 - (Ideal.absNorm 𝔭.asIdeal) ^ (-s))⁻¹) 1
                                                                                    theorem RayClassField.partialDedekindZeta_factorization_near_one {K : Type u_2} [Field K] [NumberField K] (S : Set (Prime' K)) (hS : ¬S.Finite) :
                                                                                    ∃ (g : ), AnalyticAt g 1 (fun (s : ) => (s - 1) * NumberField.dedekindZeta K s * g s) =ᶠ[nhds 1] fun (s : ) => (s - 1) * partialDedekindZeta K S s
                                                                                    def RayClassField.HasPolarDensity (K : Type u_2) [Field K] [NumberField K] (S : Set (Prime' K)) (ρ : ) :
                                                                                    Instances For
                                                                                      def RayClassField.HasDirichletDensity (K : Type u_2) [Field K] [NumberField K] (S : Set (Prime' K)) (ρ : ) :
                                                                                      Instances For
                                                                                        def RayClassField.HasNaturalDensity (K : Type u_2) [Field K] [NumberField K] (S : Set (Prime' K)) (ρ : ) :
                                                                                        Instances For
                                                                                          theorem RayClassField.hasPolarDensity_unique {K : Type u_2} [Field K] [NumberField K] {S : Set (Prime' K)} {ρ₁ ρ₂ : } (h₁ : HasPolarDensity K S ρ₁) (h₂ : HasPolarDensity K S ρ₂) :
                                                                                          ρ₁ = ρ₂
                                                                                          theorem RayClassField.hasDirichletDensity_unique {K : Type u_2} [Field K] [NumberField K] {S : Set (Prime' K)} {ρ₁ ρ₂ : } (h₁ : HasDirichletDensity K S ρ₁) (h₂ : HasDirichletDensity K S ρ₂) :
                                                                                          ρ₁ = ρ₂
                                                                                          theorem RayClassField.hasNaturalDensity_unique {K : Type u_2} [Field K] [NumberField K] {S : Set (Prime' K)} {ρ₁ ρ₂ : } (h₁ : HasNaturalDensity K S ρ₁) (h₂ : HasNaturalDensity K S ρ₂) :
                                                                                          ρ₁ = ρ₂
                                                                                          theorem RayClassField.ideal_count_rpow_summable' (K : Type u_2) [Field K] [NumberField K] (σ : ) ( : 1 < σ) :
                                                                                          Summable fun (n : ) => (Nat.card { I : Ideal (NumberField.RingOfIntegers K) // Ideal.absNorm I = n }) * n ^ (-σ)
                                                                                          theorem RayClassField.summable_primeIdeal_absNorm_rpow' (K : Type u_2) [Field K] [NumberField K] (σ : ) ( : 1 < σ) :
                                                                                          Summable fun (𝔭 : Prime' K) => (Ideal.absNorm 𝔭.asIdeal) ^ (-σ)
                                                                                          theorem RayClassField.partialDedekindZeta_multipliable {K : Type u_2} [Field K] [NumberField K] (S : Set (Prime' K)) (s : ) (hs : 1 < s.re) :
                                                                                          Multipliable fun (𝔭 : S) => (1 - (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s))⁻¹
                                                                                          theorem RayClassField.partialDedekindZeta_log_norm_eq_tsum {K : Type u_2} [Field K] [NumberField K] (S : Set (Prime' K)) {s : } (hs : 1 < s) :
                                                                                          Real.log partialDedekindZeta K S s = ∑' (𝔭 : S), -Real.log (1 - (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s)) (Summable fun (𝔭 : S) => -Real.log (1 - (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s))) Summable fun (𝔭 : S) => (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s)
                                                                                          theorem RayClassField.ideal_count_rpow_summable_rl (K : Type u_2) [Field K] [NumberField K] (σ : ) ( : 1 < σ) :
                                                                                          Summable fun (n : ) => (Nat.card { I : Ideal (NumberField.RingOfIntegers K) // Ideal.absNorm I = n }) * n ^ (-σ)
                                                                                          theorem RayClassField.summable_primeIdeal_absNorm_rpow_rl (K : Type u_2) [Field K] [NumberField K] (σ : ) ( : 1 < σ) :
                                                                                          Summable fun (𝔭 : Prime' K) => (Ideal.absNorm 𝔭.asIdeal) ^ (-σ)
                                                                                          theorem RayClassField.partialDedekindZeta_eulerProductLog_remainder_limit {K : Type u_2} [Field K] [NumberField K] (S : Set (Prime' K)) :
                                                                                          ∃ (C : ), Filter.Tendsto (fun (s : ) => ∑' (𝔭 : S), (-Real.log (1 - (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s)) - (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s))) (nhdsWithin 1 (Set.Ioi 1)) (nhds C)
                                                                                          theorem RayClassField.partialDedekindZeta_eulerProductLog {K : Type u_2} [Field K] [NumberField K] (S : Set (Prime' K)) :
                                                                                          ∃ (C : ), Filter.Tendsto (fun (s : ) => Real.log partialDedekindZeta K S s - ∑' (𝔭 : S), (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s)) (nhdsWithin 1 (Set.Ioi 1)) (nhds C)
                                                                                          theorem RayClassField.eulerProduct_log_asymptotic {K : Type u_2} [Field K] [NumberField K] {S : Set (Prime' K)} {n : ℕ+} {m : } (hm : HasMeromorphicContinuationWithPoleOrder (partialDedekindZeta K S ^ n) m) :
                                                                                          ∃ (C : ), Filter.Tendsto (fun (s : ) => n * ∑' (𝔭 : S), (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s) - m * Real.log (1 / (s - 1))) (nhdsWithin 1 (Set.Ioi 1)) (nhds C)
                                                                                          theorem RayClassField.poleOrder_implies_dirichletDensity_limit {K : Type u_2} [Field K] [NumberField K] {S : Set (Prime' K)} {n : ℕ+} {m : } (hm : HasMeromorphicContinuationWithPoleOrder (partialDedekindZeta K S ^ n) m) :
                                                                                          Filter.Tendsto (fun (s : ) => (∑' (𝔭 : S), (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s)) / Real.log (1 / (s - 1))) (nhdsWithin 1 (Set.Ioi 1)) (nhds (m / n))
                                                                                          theorem RayClassField.hasPolarDensity_nonneg {K : Type u_2} [Field K] [NumberField K] {S : Set (Prime' K)} {ρ : } (h : HasPolarDensity K S ρ) :
                                                                                          0 ρ
                                                                                          theorem RayClassField.hasPolarDensity_le_one {K : Type u_2} [Field K] [NumberField K] {S : Set (Prime' K)} {ρ : } (h : HasPolarDensity K S ρ) :
                                                                                          ρ 1
                                                                                          noncomputable def RayClassField.PolarDensity (K : Type u_2) [Field K] [NumberField K] (S : Set (Prime' K)) :
                                                                                          Instances For
                                                                                            noncomputable def RayClassField.DirichletDensity (K : Type u_2) [Field K] [NumberField K] (S : Set (Prime' K)) :
                                                                                            Instances For
                                                                                              noncomputable def RayClassField.NaturalDensity (K : Type u_2) [Field K] [NumberField K] (S : Set (Prime' K)) :
                                                                                              Instances For
                                                                                                theorem RayClassField.proposition_21_12_polar_eq_dirichlet {K : Type u_1} [Field K] [NumberField K] (S : Set (Prime' K)) (ρ : ) ( : PolarDensity K S = some ρ) :
                                                                                                DirichletDensity K S = some ρ 0 ρ ρ 1
                                                                                                theorem RayClassField.ps9_natural_eq_dirichlet {K : Type u_1} [Field K] [NumberField K] (S : Set (Prime' K)) (ρ_nat ρ_dir : ) (hnat : NaturalDensity K S = some ρ_nat) (hdir : DirichletDensity K S = some ρ_dir) :
                                                                                                ρ_nat = ρ_dir
                                                                                                theorem RayClassField.corollary_21_13_polar_eq_natural {K : Type u_1} [Field K] [NumberField K] (S : Set (Prime' K)) (ρ_polar ρ_natural : ) (hpolar : PolarDensity K S = some ρ_polar) (hnatural : NaturalDensity K S = some ρ_natural) :
                                                                                                ρ_polar = ρ_natural
                                                                                                def RayClassField.IsDegreeOne {K : Type u_1} [Field K] [NumberField K] (𝔭 : Prime' K) :
                                                                                                Instances For
                                                                                                  theorem RayClassField.partialDedekindZeta_dirichletSeries_summable {K : Type u_2} [Field K] [NumberField K] (S : Set (Prime' K)) (s : ) (hs : 1 < s) :
                                                                                                  Summable fun (𝔭 : S) => (Ideal.absNorm (↑𝔭).asIdeal) ^ (-s)
                                                                                                  theorem RayClassField.proposition_21_14b_mono {K : Type u_1} [Field K] [NumberField K] (S T : Set (Prime' K)) (hST : S T) (ρS ρT : ) (hS : PolarDensity K S = some ρS) (hT : PolarDensity K T = some ρT) :
                                                                                                  ρS ρT
                                                                                                  theorem RayClassField.partialDedekindZeta_eulerProduct_factorization {K : Type u_2} [Field K] [NumberField K] (S T : Set (Prime' K)) (n₁ n₂ : ) (hST : Disjoint S T) :
                                                                                                  partialDedekindZeta K (S T) ^ (n₁ * n₂) =ᶠ[nhdsWithin 1 {1}] (partialDedekindZeta K S ^ n₁) ^ n₂ * (partialDedekindZeta K T ^ n₂) ^ n₁
                                                                                                  theorem RayClassField.partialDedekindZeta_meromorphicOrderAt_factorization {K : Type u_2} [Field K] [NumberField K] (S T : Set (Prime' K)) (n₁ n₂ : ) (hST : (S T).Finite) :
                                                                                                  meromorphicOrderAt (partialDedekindZeta K (S T) ^ (n₁ * n₂)) 1 = meromorphicOrderAt ((partialDedekindZeta K S ^ n₁) ^ n₂ * (partialDedekindZeta K T ^ n₂) ^ n₁) 1
                                                                                                  theorem RayClassField.partialDedekindZeta_poleOrder_union {K : Type u_2} [Field K] [NumberField K] {S T : Set (Prime' K)} {n₁ n₂ : ℕ+} {m₁ m₂ : } (hST : (S T).Finite) (hS : HasMeromorphicContinuationWithPoleOrder (partialDedekindZeta K S ^ n₁) m₁) (hT : HasMeromorphicContinuationWithPoleOrder (partialDedekindZeta K T ^ n₂) m₂) :
                                                                                                  HasMeromorphicContinuationWithPoleOrder (partialDedekindZeta K (S T) ^ ↑(n₁ * n₂)) (m₁ * n₂ + m₂ * n₁)
                                                                                                  theorem RayClassField.proposition_21_14c_additive {K : Type u_1} [Field K] [NumberField K] (S T : Set (Prime' K)) (hST : (S T).Finite) (ρS ρT : ) (hS : PolarDensity K S = some ρS) (hT : PolarDensity K T = some ρT) :
                                                                                                  PolarDensity K (S T) = some (ρS + ρT)
                                                                                                  theorem RayClassField.proposition_21_14c_additive_case2 {K : Type u_1} [Field K] [NumberField K] (S T : Set (Prime' K)) (hST : (S T).Finite) (ρS ρ_union : ) (hS : PolarDensity K S = some ρS) (hU : PolarDensity K (S T) = some ρ_union) :
                                                                                                  PolarDensity K T = some (ρ_union - ρS)
                                                                                                  theorem RayClassField.proposition_21_14c_additive_case3 {K : Type u_1} [Field K] [NumberField K] (S T : Set (Prime' K)) (hST : (S T).Finite) (ρT ρ_union : ) (hT : PolarDensity K T = some ρT) (hU : PolarDensity K (S T) = some ρ_union) :
                                                                                                  PolarDensity K S = some (ρ_union - ρT)
                                                                                                  theorem RayClassField.polar_density_additive_disjoint {K : Type u_1} [Field K] [NumberField K] (S T : Set (Prime' K)) (hST : (S T).Finite) (ρS ρT ρU : ) (hρU : ρU = ρS + ρT) :
                                                                                                  (PolarDensity K S = some ρSPolarDensity K T = some ρTPolarDensity K (S T) = some ρU) (PolarDensity K S = some ρSPolarDensity K (S T) = some ρUPolarDensity K T = some ρT) (PolarDensity K T = some ρTPolarDensity K (S T) = some ρUPolarDensity K S = some ρS)
                                                                                                  theorem RayClassField.summable_norm_eulerFactor_sub_one_of_non_degreeOne {K : Type u_1} [Field K] [NumberField K] (T : Set (Prime' K)) (hT : T {𝔭 : Prime' K | ¬IsDegreeOne 𝔭}) :
                                                                                                  Summable fun (𝔭 : T) => (1 - (Ideal.absNorm (↑𝔭).asIdeal) ^ (-1))⁻¹ - 1
                                                                                                  theorem RayClassField.proposition_21_14d_intersect {K : Type u_1} [Field K] [NumberField K] (S : Set (Prime' K)) (ρ : ) (hS : PolarDensity K S = some ρ) :
                                                                                                  PolarDensity K (S {𝔭 : Prime' K | IsDegreeOne 𝔭}) = some ρ
                                                                                                  theorem RayClassField.proposition_21_14d_from_intersect {K : Type u_1} [Field K] [NumberField K] (S : Set (Prime' K)) (ρ : ) (hS : PolarDensity K (S {𝔭 : Prime' K | IsDegreeOne 𝔭}) = some ρ) :
                                                                                                  theorem RayClassField.polar_density_nonneg {K : Type u_1} [Field K] [NumberField K] (S : Set (Prime' K)) (ρ : ) (hS : PolarDensity K S = some ρ) :
                                                                                                  0 ρ
                                                                                                  def RayClassField.SplitsCompletely (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] (𝔭 : Prime' K) :
                                                                                                  Instances For
                                                                                                    def RayClassField.Spl (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] :
                                                                                                    Instances For
                                                                                                      Instances For
                                                                                                        def RayClassField.SplGen (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] :
                                                                                                        Instances For
                                                                                                          theorem RayClassField.spl_degreeOne_crossField_eq (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] (n : ) (hn : Module.finrank K L = n) (hn_pos : 0 < n) :
                                                                                                          theorem RayClassField.spl_degree_one_density (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] (n : ) (hn : Module.finrank K L = n) (hn_pos : 0 < n) :
                                                                                                          PolarDensity K (Spl K L {𝔭 : Prime' K | IsDegreeOne 𝔭}) = some (1 / n)
                                                                                                          theorem RayClassField.theorem_21_15 (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] (n : ) (hn : Module.finrank K L = n) (hn_pos : 0 < n) :
                                                                                                          PolarDensity K (Spl K L) = some (1 / n)
                                                                                                          theorem RayClassField.splitsCompletelyGen_of_galois_closure (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [Algebra L M] [IsScalarTower K L M] [IsGalois K M] [FiniteDimensional K L] (h_closure : ⨆ (σ : L →ₐ[K] M), σ.fieldRange = ) (𝔭 : Prime' K) (h : SplitsCompletelyGen K L 𝔭) :
                                                                                                          theorem RayClassField.splitsCompletelyGen_of_tower (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [Algebra L M] [IsScalarTower K L M] [IsGalois K M] (𝔭 : Prime' K) (h : SplitsCompletely K M 𝔭) :
                                                                                                          theorem RayClassField.splGen_eq_spl_of_galois_closure (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [Algebra L M] [IsScalarTower K L M] [IsGalois K M] [FiniteDimensional K L] (h_closure : ⨆ (σ : L →ₐ[K] M), σ.fieldRange = ) :
                                                                                                          SplGen K L = Spl K M
                                                                                                          theorem RayClassField.corollary_21_16 (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [Algebra L M] [IsScalarTower K L M] [IsGalois K M] [FiniteDimensional K L] (h_closure : ⨆ (σ : L →ₐ[K] M), σ.fieldRange = ) (n : ) (hn : Module.finrank K M = n) (hn_pos : 0 < n) :
                                                                                                          SplGen K L = Spl K M PolarDensity K (SplGen K L) = some (1 / n) PolarDensity K (Spl K M) = some (1 / n)
                                                                                                          theorem RayClassField.corollary_21_17 (K L F : Type u) [Field K] [Field L] [Field F] [NumberField K] [NumberField L] [NumberField F] [Algebra K L] [Algebra K F] [Algebra F L] [IsGalois K L] [IsGalois K F] [IsScalarTower K F L] [FiniteDimensional K L] (H : Subgroup Gal(L/K)) [H.Normal] (hF : (AlgEquiv.restrictNormalHom F).ker = H) :
                                                                                                          PolarDensity K (Spl K F) = some ((Nat.card H) / (Nat.card Gal(L/K)))
                                                                                                          def RayClassField.FinSymmDiff {K : Type u_1} [Field K] [NumberField K] (S T : Set (Prime' K)) :
                                                                                                          Instances For
                                                                                                            def RayClassField.PrimeSetLe {K : Type u_1} [Field K] [NumberField K] (S T : Set (Prime' K)) :
                                                                                                            Instances For
                                                                                                              theorem RayClassField.splitsCompletely_of_algHom (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] (𝔭 : Prime' K) (f : L →ₐ[K] M) (h : SplitsCompletely K M 𝔭) :
                                                                                                              theorem RayClassField.polarDensity_eq_of_finSymmDiff {K : Type u_1} [Field K] [NumberField K] (S T : Set (Prime' K)) (h : FinSymmDiff S T) (ρ : ) (hS : PolarDensity K S = some ρ) :
                                                                                                              theorem RayClassField.adjoin_range_eq_fieldRange {K' : Type u_2} {L' : Type u_3} {E' : Type u_4} [Field K'] [Field L'] [Field E'] [Algebra K' L'] [Algebra K' E'] (f : L' →ₐ[K'] E') :
                                                                                                              theorem RayClassField.comp_equiv_fieldRange {K' : Type u_2} {L' : Type u_3} {E' : Type u_4} {F' : Type u_5} [Field K'] [Field L'] [Field E'] [Field F'] [Algebra K' L'] [Algebra K' E'] [Algebra K' F'] (f : E' →ₐ[K'] F') (g : L' ≃ₐ[K'] E') :
                                                                                                              theorem RayClassField.isUnramifiedAt_comap_of_galois (K' L' M' : Type u) [Field K'] [Field L'] [Field M'] [NumberField K'] [NumberField L'] [NumberField M'] [Algebra K' L'] [Algebra K' M'] [Algebra L' M'] [IsGalois K' L'] [IsGalois K' M'] [IsScalarTower K' L' M'] (𝔭 : Prime' K') (h_sc : SplitsCompletely K' L' 𝔭 := by assumption) :
                                                                                                              theorem RayClassField.compositum_spl_inter_and_degree (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] :
                                                                                                              ∃ (N : Type u) (x : Field N) (x_1 : NumberField N) (x_2 : Algebra K N) (x_3 : IsGalois K N) (x_4 : Algebra M N) (_ : IsScalarTower K M N), Spl K N = Spl K L Spl K M (Module.finrank K N = Module.finrank K MNonempty (L →ₐ[K] M))
                                                                                                              theorem RayClassField.primeSetLe_spl_implies_algHom (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] (h : PrimeSetLe (Spl K M) (Spl K L)) :
                                                                                                              theorem RayClassField.theorem_21_18_forward (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] (f : L →ₐ[K] M) :
                                                                                                              Spl K M Spl K L
                                                                                                              theorem RayClassField.theorem_21_18_spl_determines (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] (h : FinSymmDiff (Spl K L) (Spl K M)) :
                                                                                                              theorem RayClassField.theorem_21_18_algEquiv_spl_eq (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] (e : L ≃ₐ[K] M) :
                                                                                                              Spl K M = Spl K L
                                                                                                              theorem RayClassField.primeSetLe_spl_implies_subset (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] (h : PrimeSetLe (Spl K M) (Spl K L)) :
                                                                                                              Spl K M Spl K L
                                                                                                              theorem RayClassField.finSymmDiff_spl_implies_eq (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] (h : FinSymmDiff (Spl K L) (Spl K M)) :
                                                                                                              Spl K L = Spl K M
                                                                                                              theorem RayClassField.theorem_21_18_iff_eq (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] :
                                                                                                              Nonempty (L ≃ₐ[K] M) Spl K M = Spl K L
                                                                                                              theorem RayClassField.theorem_21_18_injective (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] (h : Spl K L = Spl K M) :
                                                                                                              theorem RayClassField.splitting_primes_determine_abelian_extensions (K L M : Type u) [Field K] [Field L] [Field M] [NumberField K] [NumberField L] [NumberField M] [Algebra K L] [Algebra K M] [IsGalois K L] [IsGalois K M] :
                                                                                                              (Nonempty (L →ₐ[K] M) Spl K M Spl K L) (Nonempty (L ≃ₐ[K] M) Spl K M = Spl K L) (Spl K L = Spl K MNonempty (L ≃ₐ[K] M))
                                                                                                              theorem RayClassField.split_iff_in_kernel (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [KroneckerWeber.IsAbelianExtension K L] (𝔪 : Modulus K) (𝔭 : Prime' K) (h_coprime : 𝔪.toFun (Place.finite 𝔭) = 0) :
                                                                                                              SplitsCompletely K L 𝔭 (ArtinMap K L 𝔪) (primeCoprime K 𝔪 𝔭 h_coprime) = 1
                                                                                                              theorem RayClassField.artin_image_fixed_field (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [KroneckerWeber.IsAbelianExtension K L] (𝔪 : Modulus K) (h_not_surj : ¬Function.Surjective (ArtinMap K L 𝔪)) :
                                                                                                              ∃ (F : Type u) (x : Field F) (x_1 : NumberField F) (x_2 : Algebra K F) (x_3 : IsGalois K F), 1 < Module.finrank K F (Set.univ \ Spl K F).Finite
                                                                                                              theorem RayClassField.theorem_21_19_surjective (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [KroneckerWeber.IsAbelianExtension K L] (habel : ∀ (σ τ : Gal(L/K)), σ * τ = τ * σ) (𝔪 : Modulus K) (hdiv : ∀ (𝔭 : IsDedekindDomain.HeightOneSpectrum (NumberField.RingOfIntegers K)), 𝔪.toFun (Place.finite 𝔭) = 0∀ (𝔔 : Ideal (NumberField.RingOfIntegers L)) [inst : 𝔔.IsPrime], 𝔔.LiesOver 𝔭.asIdealAlgebra.IsUnramifiedAt (NumberField.RingOfIntegers K) 𝔔) :
                                                                                                              Instances For
                                                                                                                Instances For
                                                                                                                  @[reducible, inline]
                                                                                                                  abbrev RayClassField.polar_density_additive {K : Type u_2} [Field K] [NumberField K] (S T : Set (Prime' K)) (hST : (S T).Finite) (ρS ρT : ) (hS : PolarDensity K S = some ρS) (hT : PolarDensity K T = some ρT) :
                                                                                                                  PolarDensity K (S T) = some (ρS + ρT)
                                                                                                                  Instances For