Documentation

Atlas.NumberTheoryI.code.GlobalCFT

noncomputable def ArtinSymbol (K L : Type v) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (๐”” : Ideal (NumberField.RingOfIntegers L)) [๐””.IsPrime] [Finite (NumberField.RingOfIntegers L โงธ ๐””)] :
Gal(L/K)
Instances For
    structure GlobalCFT.IsCongruenceSubgroup (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) :
    Instances For
      noncomputable def GlobalCFT.FracIdealsCoprime.inclusion (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ : RayClassField.Modulus K) (h : ๐”ช.dvd ๐”ซ) :
      Instances For
        theorem GlobalCFT.IsRayGenerator_inclusion (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ : RayClassField.Modulus K) (h : ๐”ช.dvd ๐”ซ) (I : RayClassField.FracIdealsCoprime K ๐”ซ) (hI : RayClassField.IsRayGenerator ๐”ซ I) :
        theorem GlobalCFT.RayGroup.inclusion_le (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ : RayClassField.Modulus K) (h : ๐”ช.dvd ๐”ซ) (x : RayClassField.FracIdealsCoprime K ๐”ซ) :
        x โˆˆ RayClassField.RayGroup K ๐”ซ โ†’ (FracIdealsCoprime.inclusion K ๐”ช ๐”ซ h) x โˆˆ RayClassField.RayGroup K ๐”ช
        def GlobalCFT.CongruenceSubgroupEquiv (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)) (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)) :
        Instances For
          theorem GlobalCFT.congruenceSubgroupEquiv_refl (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) :
          CongruenceSubgroupEquiv K ๐”ช ๐”ช ๐’ž ๐’ž
          theorem GlobalCFT.congruenceSubgroupEquiv_symm (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)) (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)) (h : CongruenceSubgroupEquiv K ๐”ชโ‚ ๐”ชโ‚‚ ๐’žโ‚ ๐’žโ‚‚) :
          CongruenceSubgroupEquiv K ๐”ชโ‚‚ ๐”ชโ‚ ๐’žโ‚‚ ๐’žโ‚
          theorem GlobalCFT.FracIdealsCoprime.inclusion_comp (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ ๐”ญ : RayClassField.Modulus K) (hโ‚ : ๐”ช.dvd ๐”ซ) (hโ‚‚ : ๐”ซ.dvd ๐”ญ) (hโ‚ƒ : ๐”ช.dvd ๐”ญ) (x : RayClassField.FracIdealsCoprime K ๐”ญ) :
          (inclusion K ๐”ช ๐”ซ hโ‚) ((inclusion K ๐”ซ ๐”ญ hโ‚‚) x) = (inclusion K ๐”ช ๐”ญ hโ‚ƒ) x
          theorem GlobalCFT.FracIdealsCoprime.exists_ray_mul_coprime (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ : RayClassField.Modulus K) (h : ๐”ช.dvd ๐”ซ) (x : RayClassField.FracIdealsCoprime K ๐”ช) :
          โˆƒ r โˆˆ RayClassField.RayGroup K ๐”ช, โ†‘(x * rโปยน) โˆˆ RayClassField.FracIdealsCoprime_subgroup K ๐”ซ
          theorem GlobalCFT.FracIdealsCoprime.approx_theorem (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ : RayClassField.Modulus K) (h : ๐”ช.dvd ๐”ซ) (x : RayClassField.FracIdealsCoprime K ๐”ช) :
          โˆƒ (y : RayClassField.FracIdealsCoprime K ๐”ซ), โˆƒ r โˆˆ RayClassField.RayGroup K ๐”ช, x = (inclusion K ๐”ช ๐”ซ h) y * r
          theorem GlobalCFT.FracIdealsCoprime.inclusion_mk_surjective (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ : RayClassField.Modulus K) (h : ๐”ช.dvd ๐”ซ) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) [๐’ž.Normal] (hCong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
          Function.Surjective โ‡‘((QuotientGroup.mk' ๐’ž).comp (inclusion K ๐”ช ๐”ซ h))
          theorem GlobalCFT.congruenceSubgroupEquiv_trans (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ ๐”ชโ‚ƒ : RayClassField.Modulus K) (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)) (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)) (๐’žโ‚ƒ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚ƒ)) (hโ‚โ‚‚ : CongruenceSubgroupEquiv K ๐”ชโ‚ ๐”ชโ‚‚ ๐’žโ‚ ๐’žโ‚‚) (hโ‚‚โ‚ƒ : CongruenceSubgroupEquiv K ๐”ชโ‚‚ ๐”ชโ‚ƒ ๐’žโ‚‚ ๐’žโ‚ƒ) :
          CongruenceSubgroupEquiv K ๐”ชโ‚ ๐”ชโ‚ƒ ๐’žโ‚ ๐’žโ‚ƒ
          noncomputable def GlobalCFT.proposition_22_4_iso_aux (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)) (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)) (hCongโ‚ : IsCongruenceSubgroup K ๐”ชโ‚ ๐’žโ‚) (hCongโ‚‚ : IsCongruenceSubgroup K ๐”ชโ‚‚ ๐’žโ‚‚) (๐”ซ : RayClassField.Modulus K) (h๐”ชโ‚ : ๐”ชโ‚.dvd ๐”ซ) (h๐”ชโ‚‚ : ๐”ชโ‚‚.dvd ๐”ซ) (heq : Subgroup.comap (FracIdealsCoprime.inclusion K ๐”ชโ‚ ๐”ซ h๐”ชโ‚) ๐’žโ‚ = Subgroup.comap (FracIdealsCoprime.inclusion K ๐”ชโ‚‚ ๐”ซ h๐”ชโ‚‚) ๐’žโ‚‚) :
          RayClassField.FracIdealsCoprime K ๐”ชโ‚ โงธ ๐’žโ‚ โ‰ƒ* RayClassField.FracIdealsCoprime K ๐”ชโ‚‚ โงธ ๐’žโ‚‚
          Instances For
            noncomputable def GlobalCFT.proposition_22_4_iso (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)) (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)) (hCongโ‚ : IsCongruenceSubgroup K ๐”ชโ‚ ๐’žโ‚) (hCongโ‚‚ : IsCongruenceSubgroup K ๐”ชโ‚‚ ๐’žโ‚‚) (h : CongruenceSubgroupEquiv K ๐”ชโ‚ ๐”ชโ‚‚ ๐’žโ‚ ๐’žโ‚‚) :
            RayClassField.FracIdealsCoprime K ๐”ชโ‚ โงธ ๐’žโ‚ โ‰ƒ* RayClassField.FracIdealsCoprime K ๐”ชโ‚‚ โงธ ๐’žโ‚‚
            Instances For
              theorem GlobalCFT.lemma_22_5 (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (h_dvd : ๐”ชโ‚‚.dvd ๐”ชโ‚) (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)) (h_cong : IsCongruenceSubgroup K ๐”ชโ‚ ๐’žโ‚) :
              (โˆƒ (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)), IsCongruenceSubgroup K ๐”ชโ‚‚ ๐’žโ‚‚ โˆง CongruenceSubgroupEquiv K ๐”ชโ‚ ๐”ชโ‚‚ ๐’žโ‚ ๐’žโ‚‚) โ†” โˆ€ (x : RayClassField.FracIdealsCoprime K ๐”ชโ‚), (FracIdealsCoprime.inclusion K ๐”ชโ‚‚ ๐”ชโ‚ h_dvd) x โˆˆ RayClassField.RayGroup K ๐”ชโ‚‚ โ†’ x โˆˆ ๐’žโ‚
              theorem GlobalCFT.FracIdealsCoprime.subtype_inclusion (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ : RayClassField.Modulus K) (h : ๐”ช.dvd ๐”ซ) (x : RayClassField.FracIdealsCoprime K ๐”ซ) :
              theorem GlobalCFT.mem_comap_inclusion_iff_mem_toAmbientSubgroup (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ : RayClassField.Modulus K) (h : ๐”ช.dvd ๐”ซ) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (x : RayClassField.FracIdealsCoprime K ๐”ซ) :
              theorem GlobalCFT.isEquiv_to_congruenceSubgroupEquiv (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)) (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)) (hโ‚ : IsCongruenceSubgroup K ๐”ชโ‚ ๐’žโ‚) (hโ‚‚ : IsCongruenceSubgroup K ๐”ชโ‚‚ ๐’žโ‚‚) (h_isEquiv : { modulus := ๐”ชโ‚, subgroup := ๐’žโ‚, ray_le := โ‹ฏ }.IsEquiv { modulus := ๐”ชโ‚‚, subgroup := ๐’žโ‚‚, ray_le := โ‹ฏ }) :
              CongruenceSubgroupEquiv K ๐”ชโ‚ ๐”ชโ‚‚ ๐’žโ‚ ๐’žโ‚‚
              theorem GlobalCFT.isEquiv_of_dvd_comap (K : Type u) [Field K] [NumberField K] (๐”ช ๐”ซ : RayClassField.Modulus K) (hdvd : ๐”ช.dvd ๐”ซ) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (๐’ž_๐”ซ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ซ)) (h_cong_๐”ซ : IsCongruenceSubgroup K ๐”ซ ๐’ž_๐”ซ) (h_eq : ๐’ž_๐”ซ = Subgroup.comap (FracIdealsCoprime.inclusion K ๐”ช ๐”ซ hdvd) ๐’ž) :
              { modulus := ๐”ช, subgroup := ๐’ž, ray_le := โ‹ฏ }.IsEquiv { modulus := ๐”ซ, subgroup := ๐’ž_๐”ซ, ray_le := โ‹ฏ }
              theorem GlobalCFT.congruenceSubgroupEquiv_to_isEquiv (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)) (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)) (hโ‚ : IsCongruenceSubgroup K ๐”ชโ‚ ๐’žโ‚) (hโ‚‚ : IsCongruenceSubgroup K ๐”ชโ‚‚ ๐’žโ‚‚) (h_equiv : CongruenceSubgroupEquiv K ๐”ชโ‚ ๐”ชโ‚‚ ๐’žโ‚ ๐’žโ‚‚) :
              { modulus := ๐”ชโ‚, subgroup := ๐’žโ‚, ray_le := โ‹ฏ }.IsEquiv { modulus := ๐”ชโ‚‚, subgroup := ๐’žโ‚‚, ray_le := โ‹ฏ }
              theorem GlobalCFT.proposition_22_6 (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)) (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)) (hโ‚ : IsCongruenceSubgroup K ๐”ชโ‚ ๐’žโ‚) (hโ‚‚ : IsCongruenceSubgroup K ๐”ชโ‚‚ ๐’žโ‚‚) (h_equiv : CongruenceSubgroupEquiv K ๐”ชโ‚ ๐”ชโ‚‚ ๐’žโ‚ ๐’žโ‚‚) :
              โˆƒ (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K (๐”ชโ‚.gcd ๐”ชโ‚‚))), IsCongruenceSubgroup K (๐”ชโ‚.gcd ๐”ชโ‚‚) ๐’ž โˆง CongruenceSubgroupEquiv K ๐”ชโ‚ (๐”ชโ‚.gcd ๐”ชโ‚‚) ๐’žโ‚ ๐’ž โˆง CongruenceSubgroupEquiv K ๐”ชโ‚‚ (๐”ชโ‚.gcd ๐”ชโ‚‚) ๐’žโ‚‚ ๐’ž
              theorem GlobalCFT.equiv_moduli_closed_under_gcd (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (hโ‚ : โˆƒ (๐’žโ‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚)), IsCongruenceSubgroup K ๐”ชโ‚ ๐’žโ‚ โˆง CongruenceSubgroupEquiv K ๐”ช ๐”ชโ‚ ๐’ž ๐’žโ‚) (hโ‚‚ : โˆƒ (๐’žโ‚‚ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ชโ‚‚)), IsCongruenceSubgroup K ๐”ชโ‚‚ ๐’žโ‚‚ โˆง CongruenceSubgroupEquiv K ๐”ช ๐”ชโ‚‚ ๐’ž ๐’žโ‚‚) :
              โˆƒ (๐’žg : Subgroup (RayClassField.FracIdealsCoprime K (๐”ชโ‚.gcd ๐”ชโ‚‚))), IsCongruenceSubgroup K (๐”ชโ‚.gcd ๐”ชโ‚‚) ๐’žg โˆง CongruenceSubgroupEquiv K ๐”ช (๐”ชโ‚.gcd ๐”ชโ‚‚) ๐’ž ๐’žg
              theorem GlobalCFT.gcd_weight_lt_of_not_dvd {K : Type u} [Field K] [NumberField K] {๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K} (h : ยฌ๐”ชโ‚.dvd ๐”ชโ‚‚) :
              (๐”ชโ‚.gcd ๐”ชโ‚‚).weight < ๐”ชโ‚.weight
              theorem GlobalCFT.exists_minimal_equiv_modulus (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
              โˆƒ (๐”  : RayClassField.Modulus K), (โˆƒ (๐’žโ‚€ : Subgroup (RayClassField.FracIdealsCoprime K ๐” )), IsCongruenceSubgroup K ๐”  ๐’žโ‚€ โˆง CongruenceSubgroupEquiv K ๐”ช ๐”  ๐’ž ๐’žโ‚€) โˆง โˆ€ (๐”ซ : RayClassField.Modulus K), (โˆƒ (๐’Ÿ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ซ)), IsCongruenceSubgroup K ๐”ซ ๐’Ÿ โˆง CongruenceSubgroupEquiv K ๐”ช ๐”ซ ๐’ž ๐’Ÿ) โ†’ ๐” .dvd ๐”ซ
              theorem GlobalCFT.corollary_22_7 (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
              โˆƒ! ๐”  : RayClassField.Modulus K, (โˆƒ (๐’žโ‚€ : Subgroup (RayClassField.FracIdealsCoprime K ๐” )), IsCongruenceSubgroup K ๐”  ๐’žโ‚€ โˆง CongruenceSubgroupEquiv K ๐”ช ๐”  ๐’ž ๐’žโ‚€) โˆง โˆ€ (๐”ซ : RayClassField.Modulus K), (โˆƒ (๐’Ÿ : Subgroup (RayClassField.FracIdealsCoprime K ๐”ซ)), IsCongruenceSubgroup K ๐”ซ ๐’Ÿ โˆง CongruenceSubgroupEquiv K ๐”ช ๐”ซ ๐’ž ๐’Ÿ) โ†’ ๐” .dvd ๐”ซ
              noncomputable def GlobalCFT.conductorOfCongruenceSubgroup (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
              Instances For
                def GlobalCFT.IsPrimitive (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
                Instances For
                  @[reducible, inline]
                  abbrev GlobalCFT.RayClassCharacter (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) :
                  Instances For
                    noncomputable def GlobalCFT.RayClassGroup.mapOfDvd {K : Type u} [Field K] [NumberField K] {๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K} (h : ๐”ชโ‚.dvd ๐”ชโ‚‚) :
                    RayClassField.RayClassGroup K ๐”ชโ‚‚ โ†’* RayClassField.RayClassGroup K ๐”ชโ‚
                    Instances For
                      def GlobalCFT.IsInducedBy (K : Type u) [Field K] [NumberField K] (๐”ชโ‚ ๐”ชโ‚‚ : RayClassField.Modulus K) (h : ๐”ชโ‚.dvd ๐”ชโ‚‚) (ฯ‡โ‚ : RayClassCharacter K ๐”ชโ‚) (ฯ‡โ‚‚ : RayClassCharacter K ๐”ชโ‚‚) :
                      Instances For
                        Instances For
                          theorem GlobalCFT.kernelCongruenceSubgroup_isCong (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (ฯ‡ : RayClassCharacter K ๐”ช) :
                          IsCongruenceSubgroup K ๐”ช (kernelCongruenceSubgroup K ๐”ช ฯ‡)
                          noncomputable def GlobalCFT.conductorOfRayClassCharacter (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (ฯ‡ : RayClassCharacter K ๐”ช) :
                          Instances For
                            theorem GlobalCFT.conductorOfRayClassCharacter_dvd (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (ฯ‡ : RayClassCharacter K ๐”ช) :
                            (conductorOfRayClassCharacter K ๐”ช ฯ‡).dvd ๐”ช
                            def GlobalCFT.IsRayClassCharacterPrincipal (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (ฯ‡ : RayClassCharacter K ๐”ช) :
                            Instances For
                              noncomputable def GlobalCFT.WeberLFunction (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (ฯ‡ : RayClassCharacter K ๐”ช) :
                              Instances For
                                noncomputable def GlobalCFT.rayClassHolomorphicPart (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (ฮณ : RayClassField.RayClassGroup K ๐”ช) :
                                Instances For
                                  noncomputable def GlobalCFT.PrimeToFracIdealsCoprime (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐”ญ : RayClassField.Prime' K) (h_coprime : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0) :
                                  Instances For
                                    noncomputable def GlobalCFT.PrimitiveCharsContaining (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) :
                                    Instances For
                                      theorem GlobalCFT.IsCongruenceSubgroup.finiteIndex {K : Type u} [Field K] [NumberField K] {๐”ช : RayClassField.Modulus K} {๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)} (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
                                      ๐’ž.FiniteIndex
                                      @[implicit_reducible]
                                      noncomputable instance GlobalCFT.instFintypePrimitiveCharsContaining (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) [๐’ž.FiniteIndex] :
                                      Fintype (PrimitiveCharsContaining K ๐”ช ๐’ž)
                                      noncomputable def GlobalCFT.toRayClassCharOfPrimitive (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (ฯ‡ : PrimitiveCharsContaining K ๐”ช ๐’ž) :
                                      RayClassCharacter K ๐”ช
                                      Instances For
                                        opaque GlobalCFT.orderOfVanishingPrimitive (_K : Type u) [Field _K] [NumberField _K] (_๐”ช : RayClassField.Modulus _K) (_๐’ž : Subgroup (RayClassField.FracIdealsCoprime _K _๐”ช)) (_ฯ‡ : PrimitiveCharsContaining _K _๐”ช _๐’ž) :
                                        def GlobalCFT.isPrincipalPrimitive (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (ฯ‡ : PrimitiveCharsContaining K ๐”ช ๐’ž) :
                                        Instances For
                                          @[implicit_reducible]
                                          noncomputable instance GlobalCFT.instDecidableIsPrincipalPrimitive (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (ฯ‡ : PrimitiveCharsContaining K ๐”ช ๐’ž) :
                                          Decidable (isPrincipalPrimitive K ๐”ช ๐’ž ฯ‡)
                                          def GlobalCFT.AllLValuesNonzero (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) :
                                          Instances For
                                            noncomputable def GlobalCFT.dirichletDensityCongruence (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (_h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
                                            Instances For
                                              noncomputable def GlobalCFT.dirichletDensityCoset (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (I : RayClassField.FracIdealsCoprime K ๐”ช) :
                                              Instances For
                                                theorem GlobalCFT.congruenceSubgroup_index_pos (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
                                                0 < ๐’ž.index
                                                theorem GlobalCFT.coset_nthPower_meromorphicOrder_eq (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (I : RayClassField.FracIdealsCoprime K ๐”ช) [๐’ž.FiniteIndex] :
                                                have S := {๐”ญ : RayClassField.Prime' K | โˆƒ (h : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), โ†‘(PrimeToFracIdealsCoprime K ๐”ช ๐”ญ h) = โ†‘I}; have E := โˆ‘ ฯ‡ : PrimitiveCharsContaining K ๐”ช ๐’ž, if isPrincipalPrimitive K ๐”ช ๐’ž ฯ‡ then 0 else orderOfVanishingPrimitive K ๐”ช ๐’ž ฯ‡; meromorphicOrderAt (RayClassField.partialDedekindZeta K S ^ ๐’ž.index) 1 = โ†‘(-(1 - โ†‘E))
                                                theorem GlobalCFT.coset_nthPower_poleOrder (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (I : RayClassField.FracIdealsCoprime K ๐”ช) [๐’ž.FiniteIndex] :
                                                have S := {๐”ญ : RayClassField.Prime' K | โˆƒ (h : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), โ†‘(PrimeToFracIdealsCoprime K ๐”ช ๐”ญ h) = โ†‘I}; have E := โˆ‘ ฯ‡ : PrimitiveCharsContaining K ๐”ช ๐’ž, if isPrincipalPrimitive K ๐”ช ๐’ž ฯ‡ then 0 else orderOfVanishingPrimitive K ๐”ช ๐’ž ฯ‡; RayClassField.HasMeromorphicContinuationWithPoleOrder (RayClassField.partialDedekindZeta K S ^ ๐’ž.index) (1 - โ†‘E)
                                                theorem GlobalCFT.hasPolarDensity_coset (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (I : RayClassField.FracIdealsCoprime K ๐”ช) :
                                                RayClassField.HasPolarDensity K {๐”ญ : RayClassField.Prime' K | โˆƒ (h : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), โ†‘(PrimeToFracIdealsCoprime K ๐”ช ๐”ญ h) = โ†‘I} (dirichletDensityCongruence K ๐”ช ๐’ž h_cong)
                                                theorem GlobalCFT.dirichletDensityCongruence_nonneg (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
                                                0 โ‰ค dirichletDensityCongruence K ๐”ช ๐’ž h_cong
                                                theorem GlobalCFT.theorem_22_20 (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (n : โ„•) (hn : ๐’ž.index = n) (hn_pos : 0 < n) :
                                                (AllLValuesNonzero K ๐”ช ๐’ž โ†’ dirichletDensityCongruence K ๐”ช ๐’ž h_cong = 1 / โ†‘n) โˆง (ยฌAllLValuesNonzero K ๐”ช ๐’ž โ†’ dirichletDensityCongruence K ๐”ช ๐’ž h_cong = 0)
                                                theorem GlobalCFT.hasDirichletDensity_coset (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (I : RayClassField.FracIdealsCoprime K ๐”ช) :
                                                RayClassField.HasDirichletDensity K {๐”ญ : RayClassField.Prime' K | โˆƒ (h : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), โ†‘(PrimeToFracIdealsCoprime K ๐”ช ๐”ญ h) = โ†‘I} (dirichletDensityCongruence K ๐”ช ๐’ž h_cong)
                                                theorem GlobalCFT.dirichletDensity_coset_eq_some (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (I : RayClassField.FracIdealsCoprime K ๐”ช) :
                                                RayClassField.DirichletDensity K {๐”ญ : RayClassField.Prime' K | โˆƒ (h : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), โ†‘(PrimeToFracIdealsCoprime K ๐”ช ๐”ญ h) = โ†‘I} = some (dirichletDensityCongruence K ๐”ช ๐’ž h_cong)
                                                theorem GlobalCFT.characterOrthogonality_coset_density (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (I : RayClassField.FracIdealsCoprime K ๐”ช) :
                                                dirichletDensityCoset K ๐”ช ๐’ž h_cong I = dirichletDensityCongruence K ๐”ช ๐’ž h_cong
                                                theorem GlobalCFT.dirichletDensityCoset_eq_congruence (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (I : RayClassField.FracIdealsCoprime K ๐”ช) :
                                                dirichletDensityCoset K ๐”ช ๐’ž h_cong I = dirichletDensityCongruence K ๐”ช ๐’ž h_cong
                                                theorem GlobalCFT.proposition_22_21 (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (n : โ„•) (hn : ๐’ž.index = n) (hn_pos : 0 < n) (I : RayClassField.FracIdealsCoprime K ๐”ช) :
                                                (AllLValuesNonzero K ๐”ช ๐’ž โ†’ dirichletDensityCoset K ๐”ช ๐’ž h_cong I = 1 / โ†‘n) โˆง (ยฌAllLValuesNonzero K ๐”ช ๐’ž โ†’ dirichletDensityCoset K ๐”ช ๐’ž h_cong I = 0)
                                                theorem GlobalCFT.dirichletDensity_coprime_primes_eq_one (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (_h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) :
                                                RayClassField.DirichletDensity K {๐”ญ : RayClassField.Prime' K | โˆƒ (_ : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), True} = some 1
                                                theorem GlobalCFT.summable_rpow_inv_absNorm_prime {K : Type u_1} [Field K] [NumberField K] (S : Set (RayClassField.Prime' K)) (s : โ„) (hs : 1 < s) :
                                                Summable fun (๐”ญ : โ†‘S) => โ†‘(Ideal.absNorm (โ†‘๐”ญ).asIdeal) ^ (-s)
                                                theorem GlobalCFT.dirichletDensity_nfold_coset_additivity (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (n : โ„•) (hn : ๐’ž.index = n) (hn_pos : 0 < n) (reps : Fin n โ†’ RayClassField.FracIdealsCoprime K ๐”ช) (h_reps : Function.Injective fun (i : Fin n) => โ†‘(reps i)) (ฯ : โ„š) (h_density : RayClassField.DirichletDensity K {๐”ญ : RayClassField.Prime' K | โˆƒ (_ : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), True} = some ฯ) :
                                                ฯ = โˆ‘ i : Fin n, dirichletDensityCoset K ๐”ช ๐’ž h_cong (reps i)
                                                theorem GlobalCFT.dirichletDensity_coset_partition_sum (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (n : โ„•) (hn : ๐’ž.index = n) (hn_pos : 0 < n) (reps : Fin n โ†’ RayClassField.FracIdealsCoprime K ๐”ช) (h_reps : Function.Injective fun (i : Fin n) => โ†‘(reps i)) :
                                                (RayClassField.DirichletDensity K {๐”ญ : RayClassField.Prime' K | โˆƒ (_ : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), True}).getD 0 = โˆ‘ i : Fin n, dirichletDensityCoset K ๐”ช ๐’ž h_cong (reps i)
                                                theorem GlobalCFT.density_cosets_sum_one (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (n : โ„•) (hn : ๐’ž.index = n) (hn_pos : 0 < n) (reps : Fin n โ†’ RayClassField.FracIdealsCoprime K ๐”ช) (h_reps : Function.Injective fun (i : Fin n) => โ†‘(reps i)) :
                                                โˆ‘ i : Fin n, dirichletDensityCoset K ๐”ช ๐’ž h_cong (reps i) = 1
                                                theorem GlobalCFT.corollary_22_22 (K : Type u) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (n : โ„•) (hn : ๐’ž.index = n) (hn_pos : 0 < n) (reps : Fin n โ†’ RayClassField.FracIdealsCoprime K ๐”ช) (h_reps : Function.Injective fun (i : Fin n) => โ†‘(reps i)) :
                                                AllLValuesNonzero K ๐”ช ๐’ž โˆง โˆ€ (I : RayClassField.FracIdealsCoprime K ๐”ช), dirichletDensityCoset K ๐”ช ๐’ž h_cong I = 1 / โ†‘n
                                                theorem GlobalCFT.ps9_dirichletDensity_mono {K : Type u_1} [Field K] [NumberField K] {S T : Set (RayClassField.Prime' K)} {ฯS ฯT : โ„š} (hST : S โІ T) (hS : RayClassField.HasDirichletDensity K S ฯS) (hT : RayClassField.HasDirichletDensity K T ฯT) :
                                                ฯS โ‰ค ฯT
                                                theorem GlobalCFT.dirichletDensity_le_of_PrimeSetLe {K : Type u} [Field K] [NumberField K] {S T : Set (RayClassField.Prime' K)} {ฯS ฯT : โ„š} (hle : RayClassField.PrimeSetLe S T) (hS_polar : RayClassField.PolarDensity K S = some ฯS) (hT_dir : RayClassField.HasDirichletDensity K T ฯT) :
                                                ฯS โ‰ค ฯT
                                                theorem GlobalCFT.corollary_22_23 (K L : Type u) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : IsCongruenceSubgroup K ๐”ช ๐’ž) (h_spl : RayClassField.PrimeSetLe (RayClassField.Spl K L) (primesInCongruenceSubgroup K ๐”ช ๐’ž)) :
                                                Instances For
                                                  Instances For
                                                    def GlobalCFT.IsUnramifiedIn (K L : Type u) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] (๐”ญ : RayClassField.Prime' K) :
                                                    Instances For
                                                      Instances For
                                                        Instances For
                                                          Instances For
                                                            Instances For
                                                              Instances For
                                                                noncomputable def GlobalCFT.NormGroup (K L : Type u) [Field K] [NumberField K] [Field L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] (๐”ช : RayClassField.Modulus K) :
                                                                Instances For
                                                                  theorem GlobalCFT.normGroup_isCongruenceSubgroup (K L : Type u) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] (๐”ช : RayClassField.Modulus K) (h_cond : (extensionConductor K L).dvd ๐”ช) :
                                                                  IsCongruenceSubgroup K ๐”ช (NormGroup K L ๐”ช)
                                                                  noncomputable def GlobalCFT.choosePrimeOverHOS (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] (๐”ญ : RayClassField.Prime' K) :
                                                                  Instances For
                                                                    theorem GlobalCFT.primeAbove_coprime_extendModulus (K L : Type u) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] (๐”ช : RayClassField.Modulus K) (๐”ญ : RayClassField.Prime' K) (๐”ฎ : RayClassField.Prime' L) (h_over : RayClassField.lyingUnder K L ๐”ฎ = ๐”ญ) (h_coprime : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0) :
                                                                    theorem GlobalCFT.splitsCompletely_inertiaDeg_eq_one (K L : Type u) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [IsGalois K L] (๐”ญ : RayClassField.Prime' K) (๐”ฎ : RayClassField.Prime' L) (h_split : RayClassField.SplitsCompletely K L ๐”ญ) (h_over : RayClassField.lyingUnder K L ๐”ฎ = ๐”ญ) :
                                                                    theorem GlobalCFT.splitsCompletely_coprime_mem_normGroup (K L : Type u) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] (๐”ช : RayClassField.Modulus K) (h_cond : (extensionConductor K L).dvd ๐”ช) (๐”ญ : RayClassField.Prime' K) (h_split : RayClassField.SplitsCompletely K L ๐”ญ) (h_coprime : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0) :
                                                                    PrimeToFracIdealsCoprime K ๐”ช ๐”ญ h_coprime โˆˆ NormGroup K L ๐”ช
                                                                    theorem GlobalCFT.proposition_22_28 (K L : Type u) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] (๐”ช : RayClassField.Modulus K) (h_cond : (extensionConductor K L).dvd ๐”ช) :
                                                                    theorem GlobalCFT.theorem_22_29_norm_index_inequality (K L : Type u) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] (๐”ช : RayClassField.Modulus K) (h_cond : (extensionConductor K L).dvd ๐”ช) :
                                                                    (NormGroup K L ๐”ช).index โ‰ค Module.finrank K L
                                                                    theorem GlobalCFT.completeness_theorem (K L : Type u) [Field K] [NumberField K] [Field L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] (๐”ช : RayClassField.Modulus K) :
                                                                    (extensionConductor K L).dvd ๐”ช โ†” โˆƒ (M : Type u) (x : Field M) (x_1 : NumberField M) (x_2 : Algebra K M) (_ : FiniteDimensional K M) (x_4 : KroneckerWeber.IsAbelianExtension K M), RayClassField.IsRayClassField K M ๐”ช โˆง Nonempty (L โ†’โ‚[K] M)
                                                                    Instances For
                                                                      theorem GlobalCFT.hilbertClassField_ker_eq_rayGroup (K L : Type u) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [KroneckerWeber.IsAbelianExtension K L] (hunram : โˆ€ (๐”ญ : RayClassField.Prime' K), IsUnramifiedIn K L ๐”ญ) (hmax : โˆ€ (M : Type u) [inst : Field M] [inst_1 : NumberField M] [inst_2 : Algebra K M] [KroneckerWeber.IsAbelianExtension K M] [FiniteDimensional K M], (โˆ€ (๐”ญ : RayClassField.Prime' K), IsUnramifiedIn K M ๐”ญ) โ†’ Nonempty (M โ†’โ‚[K] L)) :
                                                                      structure GlobalArtinMap (K : Type u_1) [Field K] [NumberField K] :
                                                                      Type (max (max (max u_1 (u_2 + 1)) (u_3 + 1)) (u_4 + 1))
                                                                      Instances For
                                                                        theorem GlobalArtinMap.normSubgroup_existence {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (H : Subgroup (Ideles.IdeleClassGroup K)) (hopen : IsOpen โ†‘H) (hfin : H.FiniteIndex) :
                                                                        โˆƒ! i : ฮธ.I, ฮธ.normSubgroup i = H
                                                                        theorem proposition_28_3 {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (ฮธ' : Ideles.IdeleGroup K โ†’* ฮธ.GalAb) (hcompat : โˆ€ (i : ฮธ.I) (a : Ideles.IdeleGroup K), (ฮธ.proj i) (ฮธ' a) = (ฮธ.artinMap i) a) (a : Ideles.IdeleGroup K) :
                                                                        ฮธ' a = ฮธ.artinHom a
                                                                        noncomputable def GlobalArtinMap.artinHomCK {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) :
                                                                        Instances For
                                                                          theorem GlobalArtinMap.artinHomCK_comp {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (a : Ideles.IdeleGroup K) :
                                                                          ฮธ.artinHomCK โ†‘a = ฮธ.artinHom a
                                                                          noncomputable def GlobalArtinMap.normSubgroupCK {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (i : ฮธ.I) :
                                                                          Instances For
                                                                            instance GlobalArtinMap.normSubgroupCK_normal {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (i : ฮธ.I) :
                                                                            noncomputable def GlobalArtinMap.artinMapCK {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (i : ฮธ.I) :
                                                                            Instances For
                                                                              theorem theorem_28_4_ker_eq_norm {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (i : ฮธ.I) :
                                                                              (ฮธ.artinMapCK i).ker = ฮธ.normSubgroupCK i
                                                                              theorem theorem_28_4_iso {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (i : ฮธ.I) :
                                                                              theorem theorem_28_6_global_existence {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (H : Subgroup (Ideles.IdeleClassGroup K)) (hopen : IsOpen โ†‘H) (hfin : H.FiniteIndex) :
                                                                              โˆƒ! i : ฮธ.I, ฮธ.normSubgroupCK i = H
                                                                              def IsConjugationStable {G : Type u_1} [Group G] (C : Set G) :
                                                                              Instances For
                                                                                noncomputable def FrobeniusConjClass (K L : Type w) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (๐”ญ : RayClassField.Prime' K) :
                                                                                Set Gal(L/K)
                                                                                Instances For
                                                                                  theorem FrobeniusConjClass.nonempty (K L : Type w) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (๐”ญ : RayClassField.Prime' K) (_h_unram : GlobalCFT.IsUnramifiedIn K L ๐”ญ) :
                                                                                  (FrobeniusConjClass K L ๐”ญ).Nonempty
                                                                                  def primesWithFrobInSet (K L : Type w) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (C : Set Gal(L/K)) :
                                                                                  Instances For
                                                                                    theorem corollary_22_22_hasDirichletDensity {K : Type u_1} [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (๐’ž : Subgroup (RayClassField.FracIdealsCoprime K ๐”ช)) (h_cong : GlobalCFT.IsCongruenceSubgroup K ๐”ช ๐’ž) (n : โ„•) (hn : ๐’ž.index = n) (hn_pos : 0 < n) (I : RayClassField.FracIdealsCoprime K ๐”ช) :
                                                                                    RayClassField.HasDirichletDensity K {๐”ญ : RayClassField.Prime' K | โˆƒ (h : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), โ†‘(GlobalCFT.PrimeToFracIdealsCoprime K ๐”ช ๐”ญ h) = โ†‘I} (1 / โ†‘n)
                                                                                    theorem proposition_28_10 (K : Type w) [Field K] [NumberField K] (๐”ช : RayClassField.Modulus K) (c : RayClassField.RayClassGroup K ๐”ช) :
                                                                                    RayClassField.DirichletDensity K {๐”ญ : RayClassField.Prime' K | โˆƒ (h : ๐”ช.toFun (RayClassField.Place.finite ๐”ญ) = 0), โ†‘(GlobalCFT.PrimeToFracIdealsCoprime K ๐”ช ๐”ญ h) = c} = some (1 / โ†‘(Nat.card (RayClassField.RayClassGroup K ๐”ช)))
                                                                                    noncomputable def liftToGalLE {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (ฯƒ : Gal(L/K)) :
                                                                                    Instances For
                                                                                      theorem abelianDensity_fixedField (K L : Type w) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (ฯƒ : Gal(L/K)) :
                                                                                      theorem dirichletSeries_conjClass_comparison (K L : Type w) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (ฯƒ : Gal(L/K)) :
                                                                                      let E := IntermediateField.fixedField (Subgroup.zpowers ฯƒ); RayClassField.HasDirichletDensity (โ†ฅE) (primesWithFrobInSet (โ†ฅE) L {liftToGalLE ฯƒ}) (1 / โ†‘(orderOf ฯƒ)) โ†’ RayClassField.HasDirichletDensity K (primesWithFrobInSet K L (ConjClasses.mk ฯƒ).carrier) (โ†‘โ‹ฏ.toFinset.card / (โ†‘(Subgroup.zpowers ฯƒ).index * โ†‘(orderOf ฯƒ)))
                                                                                      theorem conjClass_density_intermediate (K L : Type w) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (ฯƒ : Gal(L/K)) :
                                                                                      theorem conjClass_hasDirichletDensity (K L : Type w) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (ฯƒ : Gal(L/K)) :
                                                                                      theorem conjClass_subset_of_mem_conjStable {G : Type u_1} [Group G] (C : Set G) (hC : IsConjugationStable C) (ฯƒ : G) (hฯƒ : ฯƒ โˆˆ C) :
                                                                                      theorem conjStable_sdiff {G : Type u_1} [Group G] (C : Set G) (hC : IsConjugationStable C) (ฯƒ : G) :
                                                                                      theorem theorem_28_9_chebotarev (K L : Type w) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (C : Set Gal(L/K)) (hC : IsConjugationStable C) (hC_finite : C.Finite) :
                                                                                      RayClassField.DirichletDensity K (primesWithFrobInSet K L C) = some (โ†‘hC_finite.toFinset.card / โ†‘(Fintype.card Gal(L/K)))
                                                                                      theorem corollary_28_11 (K L : Type w) [Field K] [Field L] [NumberField K] [NumberField L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] (hcomm : โˆ€ (a b : Gal(L/K)), a * b = b * a) (ฯƒ : Gal(L/K)) :
                                                                                      structure GlobalArtinFunctoriality {K : Type u_1} [Field K] [NumberField K] {L : Type u_2} [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] (ฮธK : GlobalArtinMap K) (ฮธL : GlobalArtinMap L) :
                                                                                      Type (max u_5 u_8)
                                                                                      Instances For
                                                                                        def theorem_28_8_functoriality {K : Type u_1} [Field K] [NumberField K] {L : Type u_2} [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] (ฮธK : GlobalArtinMap K) (ฮธL : GlobalArtinMap L) :
                                                                                        GlobalArtinFunctoriality ฮธK ฮธL
                                                                                        Instances For
                                                                                          def GlobalArtinMap.transferMap {K : Type u_1} [Field K] [NumberField K] {L : Type u_2} [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] (ฮธK : GlobalArtinMap K) (ฮธL : GlobalArtinMap L) :
                                                                                          ฮธL.GalAb โ†’* ฮธK.GalAb
                                                                                          Instances For
                                                                                            theorem theorem_28_8_comm {K : Type u_1} [Field K] [NumberField K] {L : Type u_2} [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] (ฮธK : GlobalArtinMap K) (ฮธL : GlobalArtinMap L) (a : Ideles.IdeleGroup L) :
                                                                                            ฮธK.artinHom ((ideleNorm K L) a) = (ฮธK.transferMap ฮธL) (ฮธL.artinHom a)
                                                                                            theorem theorem_28_8_comm_classGroup {K : Type u_1} [Field K] [NumberField K] {L : Type u_2} [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] (ฮธK : GlobalArtinMap K) (ฮธL : GlobalArtinMap L) (a : Ideles.IdeleClassGroup L) :
                                                                                            ฮธK.artinHomCK ((ideleNormCK K L) a) = (ฮธK.transferMap ฮธL) (ฮธL.artinHomCK a)
                                                                                            theorem normSubgroup_finiteIndex {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (i : ฮธ.I) :
                                                                                            theorem normSubgroup_surjective {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (H : Subgroup (Ideles.IdeleClassGroup K)) (hopen : IsOpen โ†‘H) (hfin : H.FiniteIndex) :
                                                                                            โˆƒ (i : ฮธ.I), ฮธ.normSubgroupCK i = H
                                                                                            theorem artinMap_quotient_iso {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) (i : ฮธ.I) :
                                                                                            theorem globalCFT_main_theorem {K : Type u_1} [Field K] [NumberField K] (ฮธ : GlobalArtinMap K) :
                                                                                            (โˆ€ (i : ฮธ.I), (ฮธ.normSubgroupCK i).FiniteIndex) โˆง (โˆ€ (H : Subgroup (Ideles.IdeleClassGroup K)), IsOpen โ†‘H โ†’ H.FiniteIndex โ†’ โˆƒ (i : ฮธ.I), ฮธ.normSubgroupCK i = H) โˆง โˆ€ (i : ฮธ.I), Nonempty (Ideles.IdeleClassGroup K โงธ ฮธ.normSubgroupCK i โ‰ƒ* ฮธ.GalLK i)