Documentation

Mathlib.NumberTheory.NumberField.Cyclotomic.Ideal

Ideals in cyclotomic fields #

In this file, we prove results about ideals in cyclotomic extensions of .

Main results #

instance IsCyclotomicExtension.Rat.isPrime_span_zeta_sub_one (p k : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
theorem IsCyclotomicExtension.Rat.associated_norm_zeta_sub_one (p k : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
theorem IsCyclotomicExtension.Rat.zeta_sub_one_dvd_intCast_iff (p k : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) {n : } :
.toInteger - 1 n p n

An integer n is divisible by ζ - 1 in 𝓞 K if and only if it is divisible by p, where ζ is a primitive p ^ (k + 1)-th root of unity.

theorem IsCyclotomicExtension.Rat.absNorm_span_zeta_sub_one (p k : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
theorem IsCyclotomicExtension.Rat.p_mem_span_zeta_sub_one (p k : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
theorem IsCyclotomicExtension.Rat.span_zeta_sub_one_ne_bot (p k : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
instance IsCyclotomicExtension.Rat.liesOver_span_zeta_sub_one (p k : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
theorem IsCyclotomicExtension.Rat.inertiaDeg_span_zeta_sub_one (p k : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
theorem IsCyclotomicExtension.Rat.ramificationIdx_span_zeta_sub_one (p k : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
theorem IsCyclotomicExtension.Rat.eq_span_zeta_sub_one_of_liesOver (p k : ) [hp : Fact (Nat.Prime p)] (K : Type u_1) [Field K] [NumberField K] [hK : IsCyclotomicExtension {p ^ (k + 1)} K] {ζ : K} ( : IsPrimitiveRoot ζ (p ^ (k + 1))) (P : Ideal (NumberField.RingOfIntegers K)) [hP₁ : P.IsPrime] [hP₂ : P.LiesOver (Ideal.span {p})] :
theorem IsCyclotomicExtension.Rat.two_not_mem_span_zeta_sub_one' (p : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p} K] {ζ : K} ( : IsPrimitiveRoot ζ p) (h : 2 < p) :

If 2 < p, then 2 is not in the ideal (ζ - 1), where ζ is a primitive p-th root of unity.

theorem IsCyclotomicExtension.Rat.associated_sub_one_of_isPrimitiveRoot (p : ) {K : Type u_1} [Field K] {ζ : K} ( : IsPrimitiveRoot ζ p) [NeZero p] {η : K} ( : IsPrimitiveRoot η p) :
Associated (.toInteger - 1) (.toInteger - 1)
theorem IsCyclotomicExtension.Rat.associated_zeta_sub_one_pow_prime (p : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] {ζ : K} ( : IsPrimitiveRoot ζ p) :
Associated ((.toInteger - 1) ^ (p - 1)) p

(ζ - 1) ^ (p - 1) is associated to p, where ζ is a primitive p-th root of unity and p is prime.

If ζ - 1 does not divide x, then p and x are coprime, where ζ is a primitive p-th root of unity and p is prime.

theorem IsCyclotomicExtension.Rat.zeta_sub_one_dvd_intCast_iff' (p : ) [hp : Fact (Nat.Prime p)] {K : Type u_1} [Field K] [NumberField K] [hK : IsCyclotomicExtension {p} K] {ζ : K} ( : IsPrimitiveRoot ζ p) {n : } :
.toInteger - 1 n p n

An integer n is divisible by ζ - 1 in 𝓞 K if and only if it is divisible by p, where ζ is a primitive p-th root of unity.

theorem IsCyclotomicExtension.Rat.inertiaDeg_eq_of_not_dvd {m : } (p : ) [hp : Fact (Nat.Prime p)] (K : Type u_1) [Field K] [NumberField K] (P : Ideal (NumberField.RingOfIntegers K)) [hP₁ : P.IsPrime] [hP₂ : P.LiesOver (Ideal.span {p})] [NeZero m] [hK : IsCyclotomicExtension {m} K] (hm : ¬p m) :
theorem IsCyclotomicExtension.Rat.inertiaDegIn_eq (n : ) {m p k : } [hp : Fact (Nat.Prime p)] (K : Type u_1) [Field K] [NumberField K] [IsCyclotomicExtension {n} K] (hn : n = p ^ (k + 1) * m) (hm : ¬p m) :

Write n = p ^ (k + 1) * m where the prime p does not divide m, then the inertia degree of p in ℚ(ζₙ) is the order of p modulo m.

theorem IsCyclotomicExtension.Rat.ramificationIdxIn_eq (n : ) {m p k : } [hp : Fact (Nat.Prime p)] (K : Type u_1) [Field K] [NumberField K] [IsCyclotomicExtension {n} K] (hn : n = p ^ (k + 1) * m) (hm : ¬p m) :

Write n = p ^ (k + 1) * m where the prime p does not divide m, then the ramification index of p in ℚ(ζₙ) is p ^ k * (p - 1).

theorem IsCyclotomicExtension.Rat.inertiaDeg_eq (n : ) {m p k : } [hp : Fact (Nat.Prime p)] (K : Type u_1) [Field K] [NumberField K] (P : Ideal (NumberField.RingOfIntegers K)) [hP₁ : P.IsPrime] [hP₂ : P.LiesOver (Ideal.span {p})] [IsCyclotomicExtension {n} K] (hn : n = p ^ (k + 1) * m) (hm : ¬p m) :
theorem IsCyclotomicExtension.Rat.ramificationIdx_eq (n : ) {m p k : } [hp : Fact (Nat.Prime p)] (K : Type u_1) [Field K] [NumberField K] (P : Ideal (NumberField.RingOfIntegers K)) [hP₁ : P.IsPrime] [hP₂ : P.LiesOver (Ideal.span {p})] [IsCyclotomicExtension {n} K] (hn : n = p ^ (k + 1) * m) (hm : ¬p m) :
P.ramificationIdx = p ^ k * (p - 1)