Module

PowerIndex.lean

Nyll.ValuedFieldTheory.LocalField.GroupTheory.PowerIndex
66 declarations indexed from sourceView source ↗

Power indices in commutative groups

Reusable kernel, quotient, product, and additive-transport formulas for n-th powers in commutative groups. The basic power map and its image and kernel are mathlib's powMonoidHom, MonoidHom.range, and MonoidHom.ker.

Declarations

LocalFieldTheory.powMonoidHom_range_one_mem

The identity element is an n-th power and hence lies in the range of the power endomorphism. The identity element is an n-th power and hence lies in the range of the power endomorphism.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem powMonoidHom_range_one_mem (n : ℕ) :
    (1 : G) ∈ (powMonoidHom n : G →* G).range
LocalFieldTheory.powMonoidHom_range_index_le

A subgroup of a commutative group contains the powers indexed by its index.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem powMonoidHom_range_index_le (H : Subgroup G) :
    (powMonoidHom H.index : G →* G).range ≤ H
LocalFieldTheory.card_nthPowerQuotient_eq_nthPowerKernel

In a finite commutative group, the n-th-power quotient has the same cardinality as the subgroup of n-torsion elements. This is the finite kernel/cokernel equality for the power endomorphism.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem card_nthPowerQuotient_eq_nthPowerKernel
    [Finite G] (n : ℕ) :
    Nat.card (G ⧸ (powMonoidHom n : G →* G).range) =
      Nat.card ((powMonoidHom n : G →* G).ker)
LocalFieldTheory.nthPowerKernelEquivOfMulEquiv

A multiplicative equivalence transports n-torsion kernels.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
def nthPowerKernelEquivOfMulEquiv (n : ℕ) (e : G ≃* H) :
    (powMonoidHom n : G →* G).ker ≃* (powMonoidHom n : H →* H).ker where
  toFun x :=
    ⟨e (x : G), by
      have hx : (x : G) ^ n = 1 :=
        (MonoidHom.mem_ker (G := G)).1 x.property
      change (e (x : G)) ^ n = 1
      simpa [map_pow] using congrArg e hx⟩
  invFun y :=
    ⟨e.symm (y : H), by
      have hy : (y : H) ^ n = 1 :=
        (MonoidHom.mem_ker (G := H)).1 y.property
      change (e.symm (y : H)) ^ n = 1
      simpa [map_pow] using congrArg e.symm hy⟩
  left_inv x := by
    ext
    simp
  right_inv y := by
    ext
    simp
  map_mul' x y := by
    ext
    simp
LocalFieldTheory.powMonoidHom_range_map

A multiplicative equivalence carries the range of the n-th power map onto the corresponding range.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem powMonoidHom_range_map (n : ℕ) (e : G ≃* H) :
    ((powMonoidHom n : G →* G).range).map e.toMonoidHom = (powMonoidHom n : H →* H).range
LocalFieldTheory.powMonoidHom_ker_map

A multiplicative equivalence transports n-torsion kernels.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem powMonoidHom_ker_map (n : ℕ) (e : G ≃* H) :
    ((powMonoidHom n : G →* G).ker).map e.toMonoidHom =
      (powMonoidHom n : H →* H).ker
LocalFieldTheory.finite_nthPowerKernel_of_injective

An injective multiplicative homomorphism transports finiteness of the ambient power kernel to the source power kernel.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem finite_nthPowerKernel_of_injective
    (n : ℕ) (f : G →* H) (hf : Function.Injective f)
    [Finite ((powMonoidHom n : H →* H).ker)] :
    Finite ((powMonoidHom n : G →* G).ker)
LocalFieldTheory.powMonoidHom_ker_units_eq_rootsOfUnity

The power kernel in the unit group of a commutative ring is Mathlib's group of roots of unity.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem powMonoidHom_ker_units_eq_rootsOfUnity
    (R : Type*) [CommRing R] (n : ℕ) :
    (powMonoidHom n : Rˣ →* Rˣ).ker = rootsOfUnity n R
LocalFieldTheory.finite_powMonoidHom_ker_units

For nonzero exponent over a domain, the unit-group power kernel is finite because it is the finite set of roots of X ^ n - 1.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
instance finite_powMonoidHom_ker_units
    (R : Type*) [CommRing R] [IsDomain R] (n : ℕ) [NeZero n] :
    Finite ((powMonoidHom n : Rˣ →* Rˣ).ker)
LocalFieldTheory.nthPowerQuotientEquivOfMulEquiv

A multiplicative equivalence transports quotients by n-th powers.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
def nthPowerQuotientEquivOfMulEquiv (n : ℕ) (e : G ≃* H) :
    G ⧸ (powMonoidHom n : G →* G).range ≃* H ⧸ (powMonoidHom n : H →* H).range
LocalFieldTheory.nthPowerQuotientEquivOfMulEquiv_mk

The quotient equivalence induced by a multiplicative equivalence maps each power-class representative to its image.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem nthPowerQuotientEquivOfMulEquiv_mk (n : ℕ) (e : G ≃* H) (x : G) :
    nthPowerQuotientEquivOfMulEquiv G H n e
        (QuotientGroup.mk' ((powMonoidHom n : G →* G).range) x) =
      QuotientGroup.mk' ((powMonoidHom n : H →* H).range) (e x)
LocalFieldTheory.finite_nthPowerQuotient_of_mulEquiv

Finiteness of a power quotient transports backwards along a multiplicative equivalence.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem finite_nthPowerQuotient_of_mulEquiv
    (n : ℕ) (e : G ≃* H)
    [Finite (H ⧸ (powMonoidHom n : H →* H).range)] :
    Finite (G ⧸ (powMonoidHom n : G →* G).range)
LocalFieldTheory.nthPowerKernelProductEquiv

The n-torsion kernel of a product is the product of the two n-torsion kernels.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
def nthPowerKernelProductEquiv (n : ℕ) :
    (powMonoidHom n : (G × H) →* (G × H)).ker ≃*
      (powMonoidHom n : G →* G).ker × (powMonoidHom n : H →* H).ker where
  toFun x :=
    (⟨(x : G × H).1, by
        have hx : (x : G × H) ^ n = 1 :=
          (MonoidHom.mem_ker (G := G × H)).1 x.property
        have hfst := congrArg Prod.fst hx
        simpa using hfst⟩,
      ⟨(x : G × H).2, by
        have hx : (x : G × H) ^ n = 1 :=
          (MonoidHom.mem_ker (G := G × H)).1 x.property
        have hsnd := congrArg Prod.snd hx
        simpa using hsnd⟩)
  invFun x :=
    ⟨((x.1 : G), (x.2 : H)), by
      have hx₁ : (x.1 : G) ^ n = 1 :=
        (MonoidHom.mem_ker (G := G)).1 x.1.property
      have hx₂ : (x.2 : H) ^ n = 1 :=
        (MonoidHom.mem_ker (G := H)).1 x.2.property
      change (((x.1 : G), (x.2 : H)) : G × H) ^ n = 1
      ext <;> simp [hx₁, hx₂]⟩
  left_inv x := by
    ext <;> rfl
  right_inv x := by
    ext <;> rfl
  map_mul' x y := by
    ext <;> rfl
LocalFieldTheory.finite_powMonoidHom_ker_prod

Finiteness of the two factor kernels transports across the canonical product-kernel equivalence.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
instance finite_powMonoidHom_ker_prod (n : ℕ)
    [Finite ((powMonoidHom n : G →* G).ker)]
    [Finite ((powMonoidHom n : H →* H).ker)] :
    Finite ((powMonoidHom n : (G × H) →* (G × H)).ker)
LocalFieldTheory.cardinal_mk_nthPowerKernelProduct

General cardinal form of the product-kernel decomposition. This is the source of truth before any finiteness specialization.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem cardinal_mk_nthPowerKernelProduct (n : ℕ) :
    Cardinal.mk ((powMonoidHom n : (G × H) →* (G × H)).ker) =
      Cardinal.mk
        ((powMonoidHom n : G →* G).ker × (powMonoidHom n : H →* H).ker)
LocalFieldTheory.card_nthPowerKernelProduct

Cardinality form of nthPowerKernelProductEquiv.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem card_nthPowerKernelProduct (n : ℕ)
    [Finite ((powMonoidHom n : G →* G).ker)]
    [Finite ((powMonoidHom n : H →* H).ker)] :
    Nat.card ((powMonoidHom n : (G × H) →* (G × H)).ker) =
      Nat.card ((powMonoidHom n : G →* G).ker) *
        Nat.card ((powMonoidHom n : H →* H).ker)
LocalFieldTheory.card_nthPowerKernel_eq_mul_of_mulEquiv_prod

A product decomposition of a commutative group splits the cardinality of the n-torsion kernel as the product of the two factor kernels.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem card_nthPowerKernel_eq_mul_of_mulEquiv_prod
    (n : ℕ) (e : G ≃* H × U)
    [Finite ((powMonoidHom n : G →* G).ker)]
    [Finite ((powMonoidHom n : H →* H).ker)]
    [Finite ((powMonoidHom n : U →* U).ker)] :
    Nat.card ((powMonoidHom n : G →* G).ker) =
      Nat.card ((powMonoidHom n : H →* H).ker) *
        Nat.card ((powMonoidHom n : U →* U).ker)
LocalFieldTheory.cardinal_mk_nthPowerKernel_eq_of_mulEquiv_prod

General cardinal form of the kernel decomposition transported by a multiplicative product equivalence.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem cardinal_mk_nthPowerKernel_eq_of_mulEquiv_prod
    (n : ℕ) (e : G ≃* H × U) :
    Cardinal.lift.{max uH uU, uG}
        (Cardinal.mk ((powMonoidHom n : G →* G).ker)) =
      Cardinal.lift.{uG, max uH uU} (Cardinal.mk
        ((powMonoidHom n : H →* H).ker × (powMonoidHom n : U →* U).ker))
LocalFieldTheory.nthPowerProductQuotientHom

The product map from a product group to the product of its n-th-power quotients.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
def nthPowerProductQuotientHom (n : ℕ) :
    G × H →* (G ⧸ (powMonoidHom n : G →* G).range) × (H ⧸ (powMonoidHom n : H →* H).range) where
  toFun x :=
    (QuotientGroup.mk' ((powMonoidHom n : G →* G).range) x.1,
      QuotientGroup.mk' ((powMonoidHom n : H →* H).range) x.2)
  map_one' := rfl
  map_mul' _ _ := rfl
LocalFieldTheory.nthPowerProductQuotientHom_surjective

Every pair of power classes is represented by a power class in the product group.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem nthPowerProductQuotientHom_surjective (n : ℕ) :
    Function.Surjective (nthPowerProductQuotientHom G H n)
LocalFieldTheory.nthPowerProductQuotientHom_ker

The product power-class homomorphism has trivial kernel.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem nthPowerProductQuotientHom_ker (n : ℕ) :
    (nthPowerProductQuotientHom G H n).ker =
      (powMonoidHom n : (G × H) →* (G × H)).range
LocalFieldTheory.nthPowerProductQuotientEquiv

Quotienting a product by n-th powers is the product of the two n-th-power quotients.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
def nthPowerProductQuotientEquiv (n : ℕ) :
    (G × H) ⧸ (powMonoidHom n : (G × H) →* (G × H)).range ≃*
      (G ⧸ (powMonoidHom n : G →* G).range) × (H ⧸ (powMonoidHom n : H →* H).range)
LocalFieldTheory.finite_powMonoidHom_rangeQuotient_prod

Finiteness of the factor power quotients transports across the canonical product-quotient equivalence.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
instance finite_powMonoidHom_rangeQuotient_prod (n : ℕ)
    [Finite (G ⧸ (powMonoidHom n : G →* G).range)]
    [Finite (H ⧸ (powMonoidHom n : H →* H).range)] :
    Finite ((G × H) ⧸ (powMonoidHom n : (G × H) →* (G × H)).range)
LocalFieldTheory.cardinal_mk_nthPowerProductQuotient

General cardinal form of the product-quotient decomposition.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem cardinal_mk_nthPowerProductQuotient (n : ℕ) :
    Cardinal.mk ((G × H) ⧸ (powMonoidHom n : (G × H) →* (G × H)).range) =
      Cardinal.mk
        ((G ⧸ (powMonoidHom n : G →* G).range) × (H ⧸ (powMonoidHom n : H →* H).range))
LocalFieldTheory.card_nthPowerProductQuotient

The number of n-th power classes in a product is the product of the two factor class numbers. The number of n-th power classes in a product is the product of the two factor class numbers.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem card_nthPowerProductQuotient (n : ℕ)
    [Finite (G ⧸ (powMonoidHom n : G →* G).range)]
    [Finite (H ⧸ (powMonoidHom n : H →* H).range)] :
    Nat.card ((G × H) ⧸ (powMonoidHom n : (G × H) →* (G × H)).range) =
      Nat.card (G ⧸ (powMonoidHom n : G →* G).range) *
        Nat.card (H ⧸ (powMonoidHom n : H →* H).range)
LocalFieldTheory.card_nthPowerQuotient_eq_mul_of_mulEquiv_prod

A product decomposition of a commutative group splits the n-th-power quotient index as the product of the two factor indices.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem card_nthPowerQuotient_eq_mul_of_mulEquiv_prod
    (n : ℕ) (e : G ≃* H × U)
    [Finite (G ⧸ (powMonoidHom n : G →* G).range)]
    [Finite (H ⧸ (powMonoidHom n : H →* H).range)]
    [Finite (U ⧸ (powMonoidHom n : U →* U).range)] :
    Nat.card (G ⧸ (powMonoidHom n : G →* G).range) =
      Nat.card (H ⧸ (powMonoidHom n : H →* H).range) *
        Nat.card (U ⧸ (powMonoidHom n : U →* U).range)
LocalFieldTheory.cardinal_mk_nthPowerQuotient_eq_of_mulEquiv_prod

General cardinal form of the quotient decomposition transported by a multiplicative product equivalence.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem cardinal_mk_nthPowerQuotient_eq_of_mulEquiv_prod
    (n : ℕ) (e : G ≃* H × U) :
    Cardinal.lift.{max uH uU, uG}
        (Cardinal.mk (G ⧸ (powMonoidHom n : G →* G).range)) =
      Cardinal.lift.{uG, max uH uU} (Cardinal.mk
        ((H ⧸ (powMonoidHom n : H →* H).range) × (U ⧸ (powMonoidHom n : U →* U).range)))
LocalFieldTheory.powMonoidHom_range_multiplicativeInt_eq_integerMultipleSubgroup

For multiplicative integers, the range of the n-th power map is the subgroup of additive multiples of n.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem powMonoidHom_range_multiplicativeInt_eq_integerMultipleSubgroup
    (n : ℕ) :
    (powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).range =
      integerMultipleSubgroup (n : ℤ)
LocalFieldTheory.finite_multiplicativeInt_nthPowerQuotient

For nonzero n, multiplicative integers modulo n-th powers form a finite quotient.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem finite_multiplicativeInt_nthPowerQuotient
    {n : ℕ} (hn : n ≠ 0) :
    Finite (Multiplicative ℤ ⧸ (powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative
      ℤ)).range)
LocalFieldTheory.finite_nthPowerQuotient_of_mulEquiv_units_prod_int

An explicit G ≃ U × ℤ decomposition transports finiteness of the unit-factor power quotient to the full group. This is deliberately a constructor rather than a global instance: callers must expose the decomposition and the exact finite boundary.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem finite_nthPowerQuotient_of_mulEquiv_units_prod_int
    {n : ℕ} [NeZero n] (e : G ≃* U × Multiplicative ℤ)
    [Finite (U ⧸ (powMonoidHom n : U →* U).range)] :
    Finite (G ⧸ (powMonoidHom n : G →* G).range)
LocalFieldTheory.cardinal_mk_multiplicativeInt_nthPowerQuotient

General cardinal identification of the integer-direction power quotient. For n = 0 the right side is infinite; the natural-cardinality specialization below is therefore intentionally restricted to n ≠ 0.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem cardinal_mk_multiplicativeInt_nthPowerQuotient (n : ℕ) :
    Cardinal.mk
        (Multiplicative ℤ ⧸ (powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).range) =
      Cardinal.mk (Multiplicative (ZMod (n : ℤ).natAbs))
LocalFieldTheory.card_multiplicativeInt_nthPowerQuotient

For nonzero n, the multiplicative-integer power quotient has cardinality n.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem card_multiplicativeInt_nthPowerQuotient
    {n : ℕ} (hn : n ≠ 0)
    [Finite (Multiplicative ℤ ⧸ (powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).range)]
      :
    Nat.card
        (Multiplicative ℤ ⧸ (powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).range)
          = n
LocalFieldTheory.powMonoidHom_ker_multiplicativeInt_eq_bot

For nonzero n, the n-th power map on multiplicative integers has trivial kernel.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem powMonoidHom_ker_multiplicativeInt_eq_bot
    {n : ℕ} (hn : n ≠ 0) :
    (powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).ker = ⊥
LocalFieldTheory.finite_multiplicativeInt_nthPowerKernel

The kernel of a nonzero power map on multiplicative integers is finite.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem finite_multiplicativeInt_nthPowerKernel
    {n : ℕ} (hn : n ≠ 0) :
    Finite ((powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).ker)
LocalFieldTheory.card_multiplicativeInt_nthPowerKernel

The kernel of a nonzero power map on multiplicative integers has one element.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem card_multiplicativeInt_nthPowerKernel
    {n : ℕ} (hn : n ≠ 0)
    [Finite ((powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).ker)] :
    Nat.card ((powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).ker) = 1
LocalFieldTheory.card_nthPowerQuotient_eq_mul_of_mulEquiv_units_prod_int

If a commutative group splits as U × Multiplicative ℤ, its n-th-power quotient index is n times the corresponding quotient index for U.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem card_nthPowerQuotient_eq_mul_of_mulEquiv_units_prod_int
    {n : ℕ} (hn : n ≠ 0) (e : G ≃* U × Multiplicative ℤ)
    [Finite (G ⧸ (powMonoidHom n : G →* G).range)]
    [Finite (U ⧸ (powMonoidHom n : U →* U).range)] :
    Nat.card (G ⧸ (powMonoidHom n : G →* G).range) =
      n * Nat.card (U ⧸ (powMonoidHom n : U →* U).range)
LocalFieldTheory.cardinal_mk_nthPowerQuotient_eq_of_mulEquiv_units_prod_int

General cardinal form of the U × Multiplicative ℤ quotient decomposition, valid without a nonzero or finiteness hypothesis.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem cardinal_mk_nthPowerQuotient_eq_of_mulEquiv_units_prod_int
    (n : ℕ) (e : G ≃* U × Multiplicative ℤ) :
    Cardinal.lift.{uU, uG} (Cardinal.mk (G ⧸ (powMonoidHom n : G →* G).range)) =
      Cardinal.lift.{uG, uU} (Cardinal.mk
        ((U ⧸ (powMonoidHom n : U →* U).range) ×
          (Multiplicative ℤ ⧸ (powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).range)))
LocalFieldTheory.card_nthPowerKernel_eq_of_mulEquiv_units_prod_int

For nonzero n, a decomposition G ≃ U × ℤ identifies the n-torsion kernel of G with the n-torsion kernel of the unit factor.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem card_nthPowerKernel_eq_of_mulEquiv_units_prod_int
    {n : ℕ} (hn : n ≠ 0) (e : G ≃* U × Multiplicative ℤ)
    [Finite ((powMonoidHom n : G →* G).ker)]
    [Finite ((powMonoidHom n : U →* U).ker)] :
    Nat.card ((powMonoidHom n : G →* G).ker) =
      Nat.card ((powMonoidHom n : U →* U).ker)
LocalFieldTheory.cardinal_mk_nthPowerKernel_eq_of_mulEquiv_units_prod_int

General cardinal form of the U × Multiplicative ℤ kernel decomposition.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section NthPowers
universe uG uH uU
variable (G : Type uG) (H : Type uH) (U : Type uU)
variable [CommGroup G] [CommGroup H] [CommGroup U]
theorem cardinal_mk_nthPowerKernel_eq_of_mulEquiv_units_prod_int
    (n : ℕ) (e : G ≃* U × Multiplicative ℤ) :
    Cardinal.lift.{uU, uG}
        (Cardinal.mk ((powMonoidHom n : G →* G).ker)) =
      Cardinal.lift.{uG, uU} (Cardinal.mk
        ((powMonoidHom n : U →* U).ker ×
          (powMonoidHom n : (Multiplicative ℤ) →* (Multiplicative ℤ)).ker))
LocalFieldTheory.nsmulAddHom

The additive homomorphism x ↦ n • x.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
abbrev nsmulAddHom (n : ℕ) : A →+ A
LocalFieldTheory.nsmulAddSubgroup

The additive subgroup of n-fold multiples.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
abbrev nsmulAddSubgroup (n : ℕ) : AddSubgroup A
LocalFieldTheory.nsmulAddKernel

The additive subgroup killed by x ↦ n • x.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
abbrev nsmulAddKernel (n : ℕ) : AddSubgroup A
LocalFieldTheory.mem_nsmulAddSubgroup_iff

Membership in the image of multiplication by n is equivalent to being an n-fold additive multiple.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem mem_nsmulAddSubgroup_iff {n : ℕ} {x : A} :
    x ∈ nsmulAddSubgroup A n ↔ ∃ y : A, n • y = x
LocalFieldTheory.mem_nsmulAddKernel_iff

Membership in the kernel of multiplication by n is equivalent to being annihilated by n.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem mem_nsmulAddKernel_iff {n : ℕ} {x : A} :
    x ∈ nsmulAddKernel A n ↔ n • x = 0
LocalFieldTheory.powMonoidHom_range_multiplicative_eq_nsmulAddSubgroup_toSubgroup

Under the Multiplicative wrapper, n-th powers are exactly additive n-fold multiples.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem powMonoidHom_range_multiplicative_eq_nsmulAddSubgroup_toSubgroup
    (n : ℕ) :
    (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).range =
      AddSubgroup.toSubgroup (nsmulAddSubgroup A n)
LocalFieldTheory.cardinal_mk_multiplicative_nthPowerQuotient_eq_additive_nsmulQuotient

General cardinal form of the multiplicative/additive quotient translation.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem cardinal_mk_multiplicative_nthPowerQuotient_eq_additive_nsmulQuotient
    (n : ℕ) :
    Cardinal.mk
        (Multiplicative A ⧸ (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).range) =
      Cardinal.mk (A ⧸ nsmulAddSubgroup A n)
LocalFieldTheory.multiplicativeNthPowerQuotientEquivAdditive

The underlying quotient types in multiplicative and additive notation are canonically equivalent.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
def multiplicativeNthPowerQuotientEquivAdditive (n : ℕ) :
    (Multiplicative A ⧸ (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).range) ≃
      (A ⧸ nsmulAddSubgroup A n)
LocalFieldTheory.finite_multiplicative_nthPowerQuotient

Finiteness of the additive quotient transports to its multiplicative presentation without any choice of representatives.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
instance finite_multiplicative_nthPowerQuotient
    (n : ℕ) [Finite (A ⧸ nsmulAddSubgroup A n)] :
    Finite
      (Multiplicative A ⧸ (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).range)
LocalFieldTheory.card_multiplicative_nthPowerQuotient_eq_nsmulAddSubgroup_index

Cardinality/index form of powMonoidHom_range_multiplicative_eq_nsmulAddSubgroup_toSubgroup.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem card_multiplicative_nthPowerQuotient_eq_nsmulAddSubgroup_index
    (n : ℕ)
    [Finite (Multiplicative A ⧸ (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).range)]
      :
    Nat.card (Multiplicative A ⧸ (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).range)
      =
      (nsmulAddSubgroup A n).index
LocalFieldTheory.card_multiplicative_nthPowerQuotient_eq_additive_nsmulQuotient

Under logarithmic/additive notation, the n-th-power quotient is the additive quotient by n-fold multiples.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem card_multiplicative_nthPowerQuotient_eq_additive_nsmulQuotient
    (n : ℕ)
    [Finite (Multiplicative A ⧸ (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).range)]
    [Finite (A ⧸ nsmulAddSubgroup A n)] :
    Nat.card (Multiplicative A ⧸ (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).range)
      =
      Nat.card (A ⧸ nsmulAddSubgroup A n)
LocalFieldTheory.powMonoidHom_ker_multiplicative_eq_nsmulAddKernel_toSubgroup

Under the Multiplicative wrapper, n-torsion is exactly the additive kernel of x ↦ n • x.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem powMonoidHom_ker_multiplicative_eq_nsmulAddKernel_toSubgroup
    (n : ℕ) :
    (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).ker =
      AddSubgroup.toSubgroup (nsmulAddKernel A n)
LocalFieldTheory.cardinal_mk_multiplicative_nthPowerKernel_eq_nsmulAddKernel

General cardinal form of the multiplicative/additive kernel translation.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem cardinal_mk_multiplicative_nthPowerKernel_eq_nsmulAddKernel
    (n : ℕ) :
    Cardinal.mk ((powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).ker) =
      Cardinal.mk (nsmulAddKernel A n)
LocalFieldTheory.multiplicativeNthPowerKernelEquivAdditive

The multiplicative power kernel and additive scalar kernel have the same underlying type.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
def multiplicativeNthPowerKernelEquivAdditive (n : ℕ) :
    (powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).ker ≃ nsmulAddKernel A n
LocalFieldTheory.finite_multiplicative_nthPowerKernel

Finiteness of the additive scalar kernel transports to multiplicative notation without introducing a noncanonical enumeration.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
instance finite_multiplicative_nthPowerKernel
    (n : ℕ) [Finite (nsmulAddKernel A n)] :
    Finite ((powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).ker)
LocalFieldTheory.finite_nsmulAddQuotient_prod

Finiteness of additive scalar quotients is stable under binary products.

Source context 9 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
section AdditiveProducts
variable (B : Type uB) [AddCommGroup B]
instance finite_nsmulAddQuotient_prod (n : ℕ)
    [Finite (A ⧸ nsmulAddSubgroup A n)]
    [Finite (B ⧸ nsmulAddSubgroup B n)] :
    Finite ((A × B) ⧸ nsmulAddSubgroup (A × B) n)
LocalFieldTheory.finite_nsmulAddKernel_prod

Finiteness of additive scalar kernels is stable under binary products.

Source context 9 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
section AdditiveProducts
variable (B : Type uB) [AddCommGroup B]
instance finite_nsmulAddKernel_prod (n : ℕ)
    [Finite (nsmulAddKernel A n)]
    [Finite (nsmulAddKernel B n)] :
    Finite (nsmulAddKernel (A × B) n)
LocalFieldTheory.card_multiplicative_nthPowerKernel_eq_nsmulAddKernel

Cardinality form of the multiplicative/additive kernel translation.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem card_multiplicative_nthPowerKernel_eq_nsmulAddKernel
    (n : ℕ)
    [Finite ((powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).ker)]
    [Finite (nsmulAddKernel A n)] :
    Nat.card ((powMonoidHom n : (Multiplicative A) →* (Multiplicative A)).ker) =
      Nat.card (nsmulAddKernel A n)
LocalFieldTheory.card_additive_nsmulQuotient_eq_nsmulKernel

Finite additive kernel/cokernel equality for the map x ↦ n • x, proved through the multiplicative n-th-power translation.

Source context 7 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
theorem card_additive_nsmulQuotient_eq_nsmulKernel
    [Finite A] (n : ℕ) :
    Nat.card (A ⧸ nsmulAddSubgroup A n) =
      Nat.card (nsmulAddKernel A n)
LocalFieldTheory.cardinal_mk_nthPowerQuotient_eq_additive_nsmulQuotient_of_mulEquiv

General cardinal form of a logarithmic quotient transport.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
variable (G : Type uG) [CommGroup G]
theorem cardinal_mk_nthPowerQuotient_eq_additive_nsmulQuotient_of_mulEquiv
    (n : ℕ) (e : G ≃* Multiplicative A) :
    Cardinal.lift.{uA, uG} (Cardinal.mk (G ⧸ (powMonoidHom n : G →* G).range)) =
      Cardinal.lift.{uG, uA} (Cardinal.mk (A ⧸ nsmulAddSubgroup A n))
LocalFieldTheory.card_nthPowerQuotient_eq_additive_nsmulQuotient_of_mulEquiv

A logarithmic multiplicative equivalence transports an n-th-power quotient to the additive quotient by n-fold multiples.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
variable (G : Type uG) [CommGroup G]
theorem card_nthPowerQuotient_eq_additive_nsmulQuotient_of_mulEquiv
    (n : ℕ) (e : G ≃* Multiplicative A)
    [Finite (G ⧸ (powMonoidHom n : G →* G).range)]
    [Finite (A ⧸ nsmulAddSubgroup A n)] :
    Nat.card (G ⧸ (powMonoidHom n : G →* G).range) =
      Nat.card (A ⧸ nsmulAddSubgroup A n)
LocalFieldTheory.card_nthPowerKernel_eq_additive_nsmulKernel_of_mulEquiv

A logarithmic multiplicative equivalence transports the n-torsion kernel to the additive kernel of x ↦ n • x.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
variable (G : Type uG) [CommGroup G]
theorem card_nthPowerKernel_eq_additive_nsmulKernel_of_mulEquiv
    (n : ℕ) (e : G ≃* Multiplicative A)
    [Finite ((powMonoidHom n : G →* G).ker)]
    [Finite (nsmulAddKernel A n)] :
    Nat.card ((powMonoidHom n : G →* G).ker) =
      Nat.card (nsmulAddKernel A n)
LocalFieldTheory.cardinal_mk_nthPowerKernel_eq_additive_nsmulKernel_of_mulEquiv

General cardinal form of a logarithmic kernel transport.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
variable (G : Type uG) [CommGroup G]
theorem cardinal_mk_nthPowerKernel_eq_additive_nsmulKernel_of_mulEquiv
    (n : ℕ) (e : G ≃* Multiplicative A) :
    Cardinal.lift.{uA, uG}
        (Cardinal.mk ((powMonoidHom n : G →* G).ker)) =
      Cardinal.lift.{uG, uA} (Cardinal.mk (nsmulAddKernel A n))
LocalFieldTheory.powMonoidHom_range_eq_comap_nsmulAddSubgroup_toSubgroup_of_mulEquiv

Under a logarithmic multiplicative equivalence, the n-th-power subgroup is the inverse image of the additive n-fold-multiple subgroup.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
variable (G : Type uG) [CommGroup G]
theorem powMonoidHom_range_eq_comap_nsmulAddSubgroup_toSubgroup_of_mulEquiv
    (n : ℕ) (e : G ≃* Multiplicative A) :
    (powMonoidHom n : G →* G).range =
      (AddSubgroup.toSubgroup (nsmulAddSubgroup A n)).comap e.toMonoidHom
LocalFieldTheory.powMonoidHom_ker_eq_comap_nsmulAddKernel_toSubgroup_of_mulEquiv

Kernel version of powMonoidHom_range_eq_comap_nsmulAddSubgroup_toSubgroup_of_mulEquiv.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
variable (G : Type uG) [CommGroup G]
theorem powMonoidHom_ker_eq_comap_nsmulAddKernel_toSubgroup_of_mulEquiv
    (n : ℕ) (e : G ≃* Multiplicative A) :
    (powMonoidHom n : G →* G).ker =
      (AddSubgroup.toSubgroup (nsmulAddKernel A n)).comap e.toMonoidHom
LocalFieldTheory.powMonoidHom_range_eq_comap_toSubgroup_of_nsmulAddSubgroup_eq

If the additive n-fold multiples have already been identified with a specific additive subgroup, a logarithmic equivalence transports that equality back to the original multiplicative group.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
variable (G : Type uG) [CommGroup G]
theorem powMonoidHom_range_eq_comap_toSubgroup_of_nsmulAddSubgroup_eq
    (n : ℕ) (e : G ≃* Multiplicative A) (B : AddSubgroup A)
    (hB : nsmulAddSubgroup A n = B) :
    (powMonoidHom n : G →* G).range =
      (AddSubgroup.toSubgroup B).comap e.toMonoidHom
LocalFieldTheory.powMonoidHom_ker_eq_comap_toSubgroup_of_nsmulAddKernel_eq

Kernel analogue of powMonoidHom_range_eq_comap_toSubgroup_of_nsmulAddSubgroup_eq.

Source context 8 commands

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

noncomputable section
namespace LocalFieldTheory
open LocalFieldTheory.DiscreteValuationField
open scoped Int
section AdditivePowers
universe uA uB uG
variable (A : Type uA) [AddCommGroup A]
variable (G : Type uG) [CommGroup G]
theorem powMonoidHom_ker_eq_comap_toSubgroup_of_nsmulAddKernel_eq
    (n : ℕ) (e : G ≃* Multiplicative A) (B : AddSubgroup A)
    (hB : nsmulAddKernel A n = B) :
    (powMonoidHom n : G →* G).ker =
      (AddSubgroup.toSubgroup B).comap e.toMonoidHom