Module

IdealNorm.lean

Nyll.ClassFieldTheory.AlgebraicNumberTheory.RayClass.IdealNorm
28 declarations indexed from sourceView source ↗

Norms of ideals prime to a modulus

For a finite extension L / K, the norm of a prime of L above v is v raised to the inertia degree. Extending this rule multiplicatively gives the genuine norm on nonzero fractional ideals.

If m is a modulus of K, a modulus upstairs is chosen deeply enough at every prime above m that local norms preserve the prescribed higher-unit conditions. The norm therefore restricts to the groups of fractional ideals prime to these moduli. Its image, together with the principal ray ideals, is the norm-defined ideal group N_{L/K} J_L^m P_K^m.

Declarations

RayClass.exists_localHigherUnitGroup_le_norm_preimage

At a prime W above v, a sufficiently deep higher-unit group has norm contained in the higher-unit group prescribed by m at v. This is the source of the lifted modulus used for ideal norms.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem exists_localHigherUnitGroup_le_norm_preimage
    (m : Modulus K)
    (W : HeightOneSpectrum (𝓞 L)) :
    let v := _root_.finitePlaceBelow (K := K) W
    letI : Algebra (v.adicCompletion K) (W.adicCompletion L) :=
      (_root_.finitePlaceAdicCompletionMap K L v ⟨W, rfl⟩).toAlgebra
    ∃ n : ℕ,
      localHigherUnitGroup W n ≤
        (localHigherUnitGroup v (m.finitePart v)).comap
          (LocalFieldTheory.normUnits
            (v.adicCompletion K) (W.adicCompletion L)) := by
  classical
  let v := _root_.finitePlaceBelow (K := K) W
  let : Algebra (v.adicCompletion K) (W.adicCompletion L) :=
    (_root_.finitePlaceAdicCompletionMap K L v ⟨W, rfl⟩).toAlgebra
  let : IsScalarTower
      K (v.adicCompletion K) (W.adicCompletion L) :=
    _root_.finitePlaceAdicCompletionMap_isScalarTower K L v ⟨W, rfl⟩
  let : ContinuousSMul
      (v.adicCompletion K) (W.adicCompletion L) :=
    continuousSMul_of_algebraMap _ _ (by
      change Continuous
        (_root_.finitePlaceAdicCompletionMap K L v ⟨W, rfl⟩)
      exact
        _root_.finitePlaceAdicCompletionMap_continuous
          K L v ⟨W, rfl⟩)
  let : FiniteDimensional
      (v.adicCompletion K) (W.adicCompletion L) :=
    inferInstance
  let : NontriviallyNormedField (v.adicCompletion K) :=
    NontriviallyNormedField.ofNormNeOne (by
      obtain ⟨ϖ, hϖ⟩ :=
        IsDiscreteValuationRing.exists_irreducible
          (v.adicCompletionIntegers K)
      refine ⟨(ϖ : v.adicCompletion K), ?_, ?_⟩
      · intro h
        exact hϖ.ne_zero (Subtype.ext h)
      · exact ne_of_lt (local_irreducible_norm_lt_one v hϖ))
  let U : Set (W.adicCompletion L)ˣ :=
    (LocalFieldTheory.normUnits
      (v.adicCompletion K) (W.adicCompletion L)) ⁻¹'
        (localHigherUnitGroup v (m.finitePart v) :
          Set (v.adicCompletion K)ˣ)
  have hTarget :
      (localHigherUnitGroup v (m.finitePart v) :
          Set (v.adicCompletion K)ˣ) ∈
        𝓝 (1 : (v.adicCompletion K)ˣ) :=
    (isOpen_localHigherUnitGroup v (m.finitePart v)).mem_nhds
      (localHigherUnitGroup v (m.finitePart v)).one_mem
  have hU : U ∈ 𝓝 (1 : (W.adicCompletion L)ˣ) := by
    have hcont :=
      LocalFieldTheory.normUnits_continuous_of_finiteDimensional
        (v.adicCompletion K) (W.adicCompletion L)
    have hTarget' :
        (localHigherUnitGroup v (m.finitePart v) :
          Set (v.adicCompletion K)ˣ) ∈
          𝓝 (LocalFieldTheory.normUnits
            (v.adicCompletion K) (W.adicCompletion L) 1) := by
      simpa using hTarget
    simpa [U] using hcont.continuousAt hTarget'
  obtain ⟨n, hn⟩ :=
    exists_localHigherUnitGroup_subset W hU
  refine ⟨n, ?_⟩
  intro x hx
  exact hn hx
RayClass.idealNormLiftedModulusExponent

The positive local depth used at W in the lifted modulus. It is zero precisely away from the inverse image of the support of m.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
open scoped Classical in
omit [FiniteDimensional K L] in
def idealNormLiftedModulusExponent
    (m : Modulus K)
    (W : HeightOneSpectrum (𝓞 L)) : ℕ
RayClass.idealNormLiftedModulusExponent_pos
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem idealNormLiftedModulusExponent_pos
    (m : Modulus K)
    (W : HeightOneSpectrum (𝓞 L))
    (hW :
      _root_.finitePlaceBelow (K := K) W ∈ m.finitePart.support) :
    0 < idealNormLiftedModulusExponent
      (K := K) (L := L) m W
RayClass.localHigherUnitGroup_idealNormLiftedModulusExponent_le

The chosen positive depth still has the required local norm property.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem localHigherUnitGroup_idealNormLiftedModulusExponent_le
    (m : Modulus K)
    (W : HeightOneSpectrum (𝓞 L))
    (hW :
      _root_.finitePlaceBelow (K := K) W ∈ m.finitePart.support) :
    let v := _root_.finitePlaceBelow (K := K) W
    letI : Algebra (v.adicCompletion K) (W.adicCompletion L) :=
      (_root_.finitePlaceAdicCompletionMap K L v ⟨W, rfl⟩).toAlgebra
    localHigherUnitGroup W
        (idealNormLiftedModulusExponent
          (K := K) (L := L) m W) ≤
      (localHigherUnitGroup v (m.finitePart v)).comap
        (LocalFieldTheory.normUnits
          (v.adicCompletion K) (W.adicCompletion L)) := by
  classical
  let v := _root_.finitePlaceBelow (K := K) W
  let : Algebra (v.adicCompletion K) (W.adicCompletion L) :=
    (_root_.finitePlaceAdicCompletionMap K L v ⟨W, rfl⟩).toAlgebra
  rw [idealNormLiftedModulusExponent, dite_eq_left hW]
  exact
    (localHigherUnitGroup_antitone W (Nat.le_succ _)).trans
      (Nat.find_spec
        (exists_localHigherUnitGroup_le_norm_preimage
          (K := K) (L := L) m W))
RayClass.idealNormLiftedModulusExponent_min

At a prime above the support, the selected positive depth is at most the successor of every depth having the required local norm property.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem idealNormLiftedModulusExponent_min
    (m : Modulus K)
    (W : HeightOneSpectrum (𝓞 L))
    (hW :
      _root_.finitePlaceBelow (K := K) W ∈ m.finitePart.support)
    (r : ℕ)
    (hr :
      let v := _root_.finitePlaceBelow (K := K) W
      letI : Algebra (v.adicCompletion K) (W.adicCompletion L) :=
        (_root_.finitePlaceAdicCompletionMap K L v ⟨W, rfl⟩).toAlgebra
      localHigherUnitGroup W r ≤
        (localHigherUnitGroup v (m.finitePart v)).comap
          (LocalFieldTheory.normUnits
            (v.adicCompletion K) (W.adicCompletion L))) :
    idealNormLiftedModulusExponent (K := K) (L := L) m W ≤ r + 1 := by
  classical
  let v := _root_.finitePlaceBelow (K := K) W
  let : Algebra (v.adicCompletion K) (W.adicCompletion L) :=
    (_root_.finitePlaceAdicCompletionMap K L v ⟨W, rfl⟩).toAlgebra
  rw [idealNormLiftedModulusExponent, dite_eq_left hW]
  exact Nat.add_le_add_right
    (Nat.find_min'
      (exists_localHigherUnitGroup_le_norm_preimage
        (K := K) (L := L) m W) hr) 1
RayClass.idealNormLiftedModulusExponent_eq_zero_of_not_mem

Away from the pulled-back support, the lifted exponent is zero.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem idealNormLiftedModulusExponent_eq_zero_of_not_mem
    (m : Modulus K)
    (W : HeightOneSpectrum (𝓞 L))
    (hW :
      _root_.finitePlaceBelow (K := K) W ∉ m.finitePart.support) :
    idealNormLiftedModulusExponent (K := K) (L := L) m W = 0
RayClass.idealNormLiftedSupport

The finite set of primes upstairs lying over the support of m.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
def idealNormLiftedSupport (m : Modulus K) :
    Set (HeightOneSpectrum (𝓞 L))
RayClass.idealNormLiftedSupport_finite

The inverse image of the finite support of a modulus is finite.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem idealNormLiftedSupport_finite (m : Modulus K) :
    (idealNormLiftedSupport (K := K) (L := L) m).Finite
RayClass.idealNormLiftedModulus

A modulus upstairs whose local higher-unit conditions are carried by the field norm into the conditions of m.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
def idealNormLiftedModulus
    (m : Modulus K) : Modulus L
RayClass.idealNormLiftedModulus_apply
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem idealNormLiftedModulus_apply
    (m : Modulus K)
    (W : HeightOneSpectrum (𝓞 L)) :
    (idealNormLiftedModulus (K := K) (L := L) m).finitePart W =
      idealNormLiftedModulusExponent
        (K := K) (L := L) m W
RayClass.mem_idealNormLiftedModulus_support_iff
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem mem_idealNormLiftedModulus_support_iff
    (m : Modulus K)
    (W : HeightOneSpectrum (𝓞 L)) :
    W ∈ (idealNormLiftedModulus
        (K := K) (L := L) m).finitePart.support ↔
      _root_.finitePlaceBelow (K := K) W ∈ m.finitePart.support
RayClass.idealNormExponentMap

Pushforward of the prime-exponent vector under ideal norm. A prime W contributes its exponent multiplied by the inertia degree to the prime below it.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
def idealNormExponentMap :
    (HeightOneSpectrum (𝓞 L) →₀ ℤ) →+
      (HeightOneSpectrum (𝓞 K) →₀ ℤ)
RayClass.idealNormExponentMap_apply
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
open scoped Classical in
omit [FiniteDimensional K L] in
theorem idealNormExponentMap_apply
    (e : HeightOneSpectrum (𝓞 L) →₀ ℤ)
    (v : HeightOneSpectrum (𝓞 K)) :
    idealNormExponentMap (K := K) (L := L) e v =
      e.sum fun W n =>
        if _root_.finitePlaceBelow (K := K) W = v then
          (W.asIdeal.inertiaDeg (𝓞 K) : ℤ) * n
        else
          0 := by
  classical
  simp [idealNormExponentMap, Finsupp.single_apply, eq_comm]
RayClass.idealNormExponentMap_apply_eq_sum_above

The exponent pushforward can equivalently be written as the finite sum over the primes above one fixed base prime.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem idealNormExponentMap_apply_eq_sum_above
    (e : HeightOneSpectrum (𝓞 L) →₀ ℤ)
    (v : HeightOneSpectrum (𝓞 K))
    [Fintype {W : HeightOneSpectrum (𝓞 L) //
      _root_.finitePlaceBelow (K := K) W = v}] :
    idealNormExponentMap (K := K) (L := L) e v =
      ∑ W : {W : HeightOneSpectrum (𝓞 L) //
          _root_.finitePlaceBelow (K := K) W = v},
        (W.1.asIdeal.inertiaDeg (𝓞 K) : ℤ) * e W.1
RayClass.factorizationEquiv_symm_toAdd
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
theorem factorizationEquiv_symm_toAdd
    (I : FractionalIdealGroup L) :
    ((FractionalIdealGroup.factorizationEquiv
      (K := L)).symm I).toAdd =
        FractionalIdealGroup.countVector I
RayClass.fractionalIdealNorm

The genuine relative norm on nonzero fractional ideals.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
def fractionalIdealNorm :
    FractionalIdealGroup L →* FractionalIdealGroup K
RayClass.count_fractionalIdealNorm

The exponent of the norm at v is the inertia-degree weighted pushforward of the upstairs prime exponents.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem count_fractionalIdealNorm
    (I : FractionalIdealGroup L)
    (v : HeightOneSpectrum (𝓞 K)) :
    FractionalIdeal.count K v
        (fractionalIdealNorm (K := K) (L := L) I :
          FractionalIdeal (nonZeroDivisors (𝓞 K)) K) =
      idealNormExponentMap (K := K) (L := L)
        (FractionalIdealGroup.countVector I) v
RayClass.fractionalIdealNormPrimeBelow_eq_finitePlaceBelow
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem fractionalIdealNormPrimeBelow_eq_finitePlaceBelow
    (W : HeightOneSpectrum (𝓞 L)) :
    ClassFieldTheory.fractionalIdealNormPrimeBelow K L W =
      _root_.finitePlaceBelow (K := K) W
RayClass.idealNormExponentMap_eq_public
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
theorem idealNormExponentMap_eq_public :
    idealNormExponentMap (K := K) (L := L) =
      ClassFieldTheory.fractionalIdealNormExponentMap K L
RayClass.factorizationEquiv_eq_public
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
theorem factorizationEquiv_eq_public
    (F : Type) [Field F] [NumberField F] :
    FractionalIdealGroup.factorizationEquiv (K := F) =
      ClassFieldTheory.NumberFieldFractionalIdealGroup.factorizationEquiv
        (K := F)
RayClass.fractionalIdealNorm_eq_public

The Mathlib-level public fractional-ideal norm agrees with the norm used by the idelic and ray-class constructions.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
theorem fractionalIdealNorm_eq_public :
    fractionalIdealNorm (K := K) (L := L) =
      ClassFieldTheory.fractionalIdealNorm K L
IdeleGroup.count_fractionalIdeal

The exponent of the fractional ideal attached to an idèle is its finite local order.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
theorem _root_.IdeleGroup.count_fractionalIdeal
    (a : IdeleGroup K)
    (v : HeightOneSpectrum (𝓞 K)) :
    FractionalIdeal.count K v
        (IdeleGroup.fractionalIdeal a :
          FractionalIdeal (nonZeroDivisors (𝓞 K)) K) =
      (FiniteIdeleGroup.localOrder v
        (IdeleGroup.finiteComponent v a)).toAdd
IdeleGroup.fractionalIdeal_ideleNorm

The genuine ideal norm is the fractional-ideal image of the ordinary idèle norm.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
theorem _root_.IdeleGroup.fractionalIdeal_ideleNorm
    (a : IdeleGroup L) :
    IdeleGroup.fractionalIdeal (IdeleGroup.norm K L a) =
      fractionalIdealNorm (K := K) (L := L)
        (IdeleGroup.fractionalIdeal a)
RayClass.fractionalIdealNorm_mem_primeToModulusIdeals

The fractional ideal norm preserves coprimality with a modulus after passing to the lifted modulus upstairs.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem fractionalIdealNorm_mem_primeToModulusIdeals
    (m : Modulus K)
    (I : primeToModulusIdeals
      (idealNormLiftedModulus (K := K) (L := L) m)) :
    fractionalIdealNorm (K := K) (L := L)
        (I : FractionalIdealGroup L) ∈
      primeToModulusIdeals m
RayClass.primeToModulusIdealNorm

The ideal norm restricted to fractional ideals prime to the corresponding moduli.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
def primeToModulusIdealNorm
    (m : Modulus K) :
    primeToModulusIdeals
        (idealNormLiftedModulus (K := K) (L := L) m) →*
      primeToModulusIdeals m where
  toFun I :=
    ⟨fractionalIdealNorm (K := K) (L := L)
        (I : FractionalIdealGroup L),
      fractionalIdealNorm_mem_primeToModulusIdeals
        (K := K) (L := L) m I⟩
  map_one' := by
    apply Subtype.ext
    exact map_one _
  map_mul' I J := by
    apply Subtype.ext
    exact map_mul _ _ _
RayClass.primeToModulusIdealNorm_coe
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
omit [FiniteDimensional K L] in
theorem primeToModulusIdealNorm_coe
    (m : Modulus K)
    (I : primeToModulusIdeals
      (idealNormLiftedModulus (K := K) (L := L) m)) :
    (primeToModulusIdealNorm
        (K := K) (L := L) m I :
      FractionalIdealGroup K) =
        fractionalIdealNorm (K := K) (L := L)
          (I : FractionalIdealGroup L)
RayClass.finite_norm_mem_finitePrimeToModulusSubgroup

The finite component of an idèle prime to the lifted modulus has norm satisfying the finite prime-to conditions of the base modulus.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
theorem finite_norm_mem_finitePrimeToModulusSubgroup
    (m : Modulus K)
    (a : idelePrimeToModulusSubgroup
      (idealNormLiftedModulus (K := K) (L := L) m)) :
    (IdeleGroup.norm K L (a : IdeleGroup L)).2 ∈
      finitePrimeToModulusSubgroup m
RayClass.idealNormSubgroup

The genuine norm-defined subgroup N_{L/K} J_L^m P_K^m of ideals prime to m.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open scoped BigOperators NumberField Topology
open NumberField IsDedekindDomain
noncomputable section
namespace RayClass
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
def idealNormSubgroup
    (m : Modulus K) :
    Subgroup (primeToModulusIdeals m)