Module

LastPrimePowerRoot.lean

Nyll.GaloisCohomology.Kummer.Concrete.LastPrimePowerRoot
2 declarations indexed from sourceView source ↗

The last prime-power root level

Finiteness of the prime-power roots gives a maximal primitive-root exponent. At this exponent a primitive root of prime order has nonidentity power class.

Declarations

KummerTheory.exists_last_primePower_primitiveRoot

A finite set of prime-power roots has a last primitive-root level. The maximality statement also bounds every other available level.

Source context 2 commands

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

namespace KummerTheory
variable {K : Type*} [Field K]
theorem exists_last_primePower_primitiveRoot {p : ℕ} (hp : p.Prime)
    (hfinite : Set.Finite {ζ : K | ∃ n : ℕ, ζ ^ (p ^ n) = 1}) :
    ∃ s : ℕ, (primitiveRoots (p ^ s) K).Nonempty ∧
      (∀ m : ℕ, (primitiveRoots (p ^ m) K).Nonempty → m ≤ s) ∧
      ¬ (primitiveRoots (p ^ (s + 1)) K).Nonempty
KummerTheory.exists_last_primePowerRoot_nontrivial_class

If a primitive root of prime order exists, finiteness of all prime-power roots supplies a positive last exponent and a nonidentity power class there.

Source context 2 commands

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

namespace KummerTheory
variable {K : Type*} [Field K]
theorem exists_last_primePowerRoot_nontrivial_class {p : ℕ} (hp : p.Prime)
    (hfinite : Set.Finite {ξ : K | ∃ n : ℕ, ξ ^ (p ^ n) = 1})
    {ζ : Kˣ} (hζ : IsPrimitiveRoot ζ p) :
    ∃ s : ℕ, 1 ≤ s ∧ (primitiveRoots (p ^ s) K).Nonempty ∧
      (∀ m : ℕ, (primitiveRoots (p ^ m) K).Nonempty → m ≤ s) ∧
      ¬ (primitiveRoots (p ^ (s + 1)) K).Nonempty ∧
      (ζ : Kˣ ⧸ (powMonoidHom (p ^ s) : Kˣ →* Kˣ).range) ≠ 1