Documentation

Mathlib.NumberTheory.NumberField.Cyclotomic.Basic

Ring of integers of cyclotomic fields #

We gather results about cyclotomic extensions of . In particular, we compute the ring of integers of a cyclotomic extension of .

Main results #

theorem IsCyclotomicExtension.Rat.finrank (k : ) (K : Type u) [Field K] [CharZero K] [NeZero k] [IsCyclotomicExtension {k} K] :
theorem IsCyclotomicExtension.Rat.discr_prime_pow_ne_two' {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) (hk : p ^ (k + 1) 2) :
Algebra.discr (IsPrimitiveRoot.subOnePowerBasis ).basis = (-1) ^ ((p ^ (k + 1)).totient / 2) * p ^ (p ^ k * ((p - 1) * (k + 1) - 1))

The discriminant of the power basis given by ζ - 1.

theorem IsCyclotomicExtension.Rat.discr_odd_prime' {p : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p} K] ( : IsPrimitiveRoot ζ p) (hodd : p 2) :
Algebra.discr (IsPrimitiveRoot.subOnePowerBasis ).basis = (-1) ^ ((p - 1) / 2) * p ^ (p - 2)
theorem IsCyclotomicExtension.Rat.discr_prime_pow' {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) :
Algebra.discr (IsPrimitiveRoot.subOnePowerBasis ).basis = (-1) ^ ((p ^ k).totient / 2) * p ^ (p ^ (k - 1) * ((p - 1) * k - 1))

The discriminant of the power basis given by ζ - 1. Beware that in the cases p ^ k = 1 and p ^ k = 2 the formula uses 1 / 2 = 0 and 0 - 1 = 0. It is useful only to have a uniform result. See also IsCyclotomicExtension.Rat.discr_prime_pow_eq_unit_mul_pow'.

theorem IsCyclotomicExtension.Rat.discr_prime_pow_eq_unit_mul_pow' {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) :
∃ (u : ˣ) (n : ), Algebra.discr (IsPrimitiveRoot.subOnePowerBasis ).basis = u * p ^ n

If p is a prime and IsCyclotomicExtension {p ^ k} K L, then there are u : ℤˣ and n : ℕ such that the discriminant of the power basis given by ζ - 1 is u * p ^ n. Often this is enough and less cumbersome to use than IsCyclotomicExtension.Rat.discr_prime_pow'.

theorem IsCyclotomicExtension.Rat.isIntegralClosure_adjoin_singleton_of_prime_pow {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) :
IsIntegralClosure [ζ] K

If K is a p ^ k-th cyclotomic extension of , then (adjoin ℤ {ζ}) is the integral closure of in K.

theorem IsCyclotomicExtension.Rat.isIntegralClosure_adjoin_singleton_of_prime {p : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p} K] ( : IsPrimitiveRoot ζ p) :
IsIntegralClosure [ζ] K

The integral closure of inside CyclotomicField (p ^ k) ℚ is CyclotomicRing (p ^ k) ℤ ℚ.

noncomputable def IsPrimitiveRoot.adjoinEquivRingOfIntegersOfPrimePow {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) :

The algebra isomorphism adjoin ℤ {ζ} ≃ₐ[ℤ] (𝓞 K), where ζ is a primitive p ^ k-th root of unity and K is a p ^ k-th cyclotomic extension of .

Instances For
    @[simp]
    theorem IsPrimitiveRoot.adjoinEquivRingOfIntegersOfPrimePow_apply {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) (a : [ζ]) :

    The ring of integers of a p ^ k-th cyclotomic extension of is a cyclotomic extension.

    noncomputable def IsPrimitiveRoot.integralPowerBasisOfPrimePow {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) :

    The integral PowerBasis of 𝓞 K given by a primitive root of unity, where K is a p ^ k cyclotomic extension of .

    Instances For
      @[reducible, inline]
      abbrev IsPrimitiveRoot.toInteger {K : Type u} [Field K] {ζ : K} {k : } [NeZero k] ( : IsPrimitiveRoot ζ k) :

      Abbreviation to see a primitive root of unity as a member of the ring of integers.

      Instances For
        theorem IsPrimitiveRoot.coe_toInteger {K : Type u} [Field K] {ζ : K} {k : } [NeZero k] ( : IsPrimitiveRoot ζ k) :
        .toInteger = ζ

        𝓞 K ⧸ Ideal.span {ζ - 1} is finite.

        theorem IsPrimitiveRoot.card_quotient_toInteger_sub_one {K : Type u} [Field K] {ζ : K} [NumberField K] {k : } [NeZero k] ( : IsPrimitiveRoot ζ k) :

        We have that 𝓞 K ⧸ Ideal.span {ζ - 1} has cardinality equal to the norm of ζ - 1.

        See the results below to compute this norm in various cases.

        theorem IsPrimitiveRoot.toInteger_isPrimitiveRoot {K : Type u} [Field K] {ζ : K} {k : } [NeZero k] ( : IsPrimitiveRoot ζ k) :
        @[simp]
        theorem IsPrimitiveRoot.integralPowerBasisOfPrimePow_gen {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) :
        @[simp]
        theorem IsPrimitiveRoot.integralPowerBasisOfPrimePow_dim {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) :
        noncomputable def IsPrimitiveRoot.subOneIntegralPowerBasisOfPrimePow {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) :

        The integral PowerBasis of 𝓞 K given by ζ - 1, where K is a p ^ k cyclotomic extension of .

        Instances For
          @[simp]
          theorem IsPrimitiveRoot.subOneIntegralPowerBasisOfPrimePow_gen {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ k} K] ( : IsPrimitiveRoot ζ (p ^ k)) :
          .subOneIntegralPowerBasisOfPrimePow.gen = ζ - 1,
          theorem IsPrimitiveRoot.zeta_sub_one_prime_of_ne_two {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) (hodd : p 2) :
          Prime (.toInteger - 1)

          ζ - 1 is prime if p ≠ 2 and ζ is a primitive p ^ (k + 1)-th root of unity. See zeta_sub_one_prime for a general statement.

          theorem IsPrimitiveRoot.zeta_sub_one_prime_of_two_pow {k : } {K : Type u} [Field K] {ζ : K} [CharZero K] [IsCyclotomicExtension {2 ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (2 ^ (k + 1))) :
          Prime (.toInteger - 1)

          ζ - 1 is prime if ζ is a primitive 2 ^ (k + 1)-th root of unity. See zeta_sub_one_prime for a general statement.

          theorem IsPrimitiveRoot.zeta_sub_one_prime {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
          Prime (.toInteger - 1)

          ζ - 1 is prime if ζ is a primitive p ^ (k + 1)-th root of unity.

          theorem IsPrimitiveRoot.zeta_sub_one_prime' {p : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [h : IsCyclotomicExtension {p} K] ( : IsPrimitiveRoot ζ p) :
          Prime (.toInteger - 1)

          ζ - 1 is prime if ζ is a primitive p-th root of unity.

          theorem IsPrimitiveRoot.norm_toInteger_sub_one_eq_one {K : Type u} [Field K] {ζ : K} [CharZero K] {n : } [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) (h₁ : 2 < n) (h₂ : ∀ {p : }, Nat.Prime p∀ (k : ), p ^ k n) :
          have this := ; (Algebra.norm ) (.toInteger - 1) = 1

          The norm, relative to , of ζ - 1 in an n-th cyclotomic extension of where n is not a power of a prime number is 1.

          theorem IsPrimitiveRoot.norm_toInteger_pow_sub_one_of_prime_pow_ne_two {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) {s : } (hs : s k) (htwo : p ^ (k - s + 1) 2) :
          (Algebra.norm ) (.toInteger ^ p ^ s - 1) = p ^ p ^ s

          The norm, relative to , of ζ ^ p ^ s - 1 in a p ^ (k + 1)-th cyclotomic extension of is p ^ p ^ s if s ≤ k and p ^ (k - s + 1) ≠ 2.

          theorem IsPrimitiveRoot.norm_toInteger_pow_sub_one_of_two {k : } {K : Type u} [Field K] {ζ : K} [CharZero K] [IsCyclotomicExtension {2 ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (2 ^ (k + 1))) :
          (Algebra.norm ) (.toInteger ^ 2 ^ k - 1) = (-2) ^ 2 ^ k

          The norm, relative to , of ζ ^ 2 ^ k - 1 in a 2 ^ (k + 1)-th cyclotomic extension of is (-2) ^ 2 ^ k.

          theorem IsPrimitiveRoot.norm_toInteger_pow_sub_one_of_prime_ne_two {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) {s : } (hs : s k) (hodd : p 2) :
          (Algebra.norm ) (.toInteger ^ p ^ s - 1) = p ^ p ^ s

          The norm, relative to , of ζ ^ p ^ s - 1 in a p ^ (k + 1)-th cyclotomic extension of is p ^ p ^ s if s ≤ k and p ≠ 2.

          theorem IsPrimitiveRoot.norm_toInteger_sub_one_of_eq_two_pow {k : } {K : Type u_1} [Field K] {ζ : K} [CharZero K] [IsCyclotomicExtension {2 ^ (k + 2)} K] ( : IsPrimitiveRoot ζ (2 ^ (k + 2))) :
          (Algebra.norm ) (.toInteger - 1) = 2

          The norm, relative to , of ζ - 1 in a 2 ^ (k + 2)-th cyclotomic extension of is 2.

          theorem IsPrimitiveRoot.norm_toInteger_sub_one_of_prime_ne_two {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) (hodd : p 2) :
          (Algebra.norm ) (.toInteger - 1) = p

          The norm, relative to , of ζ - 1 in a p ^ (k + 1)-th cyclotomic extension of is p if p ≠ 2.

          theorem IsPrimitiveRoot.norm_toInteger_sub_one_of_eq_two {K : Type u} [Field K] {ζ : K} [CharZero K] [IsCyclotomicExtension {2} K] ( : IsPrimitiveRoot ζ 2) :
          (Algebra.norm ) (.toInteger - 1) = -2

          The norm, relative to , of ζ - 1 in a 2-th cyclotomic extension of is -2.

          theorem IsPrimitiveRoot.norm_toInteger_sub_one_of_prime_ne_two' {p : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p} K] ( : IsPrimitiveRoot ζ p) (h : p 2) :
          (Algebra.norm ) (.toInteger - 1) = p

          The norm, relative to , of ζ - 1 in a p-th cyclotomic extension of is p if p ≠ 2.

          theorem IsPrimitiveRoot.prime_norm_toInteger_sub_one_of_prime_pow_ne_two {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) (htwo : p ^ (k + 1) 2) :
          Prime ((Algebra.norm ) (.toInteger - 1))

          The norm, relative to , of ζ - 1 in a p ^ (k + 1)-th cyclotomic extension of is a prime if p ^ (k + 1) ≠ 2.

          theorem IsPrimitiveRoot.prime_norm_toInteger_sub_one_of_prime_ne_two {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) (hodd : p 2) :
          Prime ((Algebra.norm ) (.toInteger - 1))

          The norm, relative to , of ζ - 1 in a p ^ (k + 1)-th cyclotomic extension of is a prime if p ≠ 2.

          theorem IsPrimitiveRoot.prime_norm_toInteger_sub_one_of_prime_ne_two' {p : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p} K] ( : IsPrimitiveRoot ζ p) (hodd : p 2) :
          Prime ((Algebra.norm ) (.toInteger - 1))

          The norm, relative to , of ζ - 1 in a p-th cyclotomic extension of is a prime if p ≠ 2.

          theorem IsPrimitiveRoot.not_exists_int_prime_dvd_sub_of_prime_pow_ne_two {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) (htwo : p ^ (k + 1) 2) :
          ¬∃ (n : ), p .toInteger - n

          In a p ^ (k + 1)-th cyclotomic extension of , we have that ζ is not congruent to an integer modulo p if p ^ (k + 1) ≠ 2.

          theorem IsPrimitiveRoot.not_exists_int_prime_dvd_sub_of_prime_ne_two {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) (hodd : p 2) :
          ¬∃ (n : ), p .toInteger - n

          In a p ^ (k + 1)-th cyclotomic extension of , we have that ζ is not congruent to an integer modulo p if p ≠ 2.

          theorem IsPrimitiveRoot.not_exists_int_prime_dvd_sub_of_prime_ne_two' {p : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p} K] ( : IsPrimitiveRoot ζ p) (hodd : p 2) :
          ¬∃ (n : ), p .toInteger - n

          In a p-th cyclotomic extension of , we have that ζ is not congruent to an integer modulo p if p ≠ 2.

          theorem IsPrimitiveRoot.finite_quotient_span_sub_one {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
          theorem IsPrimitiveRoot.toInteger_sub_one_dvd_prime {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) :
          .toInteger - 1 p

          In a p ^ (k + 1)-th cyclotomic extension of , we have that ζ - 1 divides p in 𝓞 K.

          theorem IsPrimitiveRoot.toInteger_sub_one_dvd_prime' {p : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [hcycl : IsCyclotomicExtension {p} K] ( : IsPrimitiveRoot ζ p) :
          .toInteger - 1 p

          In a p-th cyclotomic extension of , we have that ζ - 1 divides p in 𝓞 K.

          theorem IsPrimitiveRoot.toInteger_sub_one_not_dvd_two {p k : } {K : Type u} [Field K] {ζ : K} [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] ( : IsPrimitiveRoot ζ (p ^ (k + 1))) (hodd : p 2) :
          ¬.toInteger - 1 2

          We have that hζ.toInteger - 1 does not divide 2.

          theorem IsPrimitiveRoot.prime_dvd_of_dvd_norm_sub_one {n : } (hn : 2 n) {K : Type u_1} [Field K] [NumberField K] {ζ : K} {p : } [hF : Fact (Nat.Prime p)] ( : IsPrimitiveRoot ζ n) (hp : p (Algebra.norm ) (.toInteger - 1)) :
          p n

          Let ζ be a primitive root of unity of order n with 2 ≤ n. Any prime number that divides the norm, relative to , of ζ - 1 divides also n.

          theorem IsCyclotomicExtension.Rat.discr_prime_pow (p k : ) (K : Type u) [Field K] [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ k} K] :
          NumberField.discr K = (-1) ^ ((p ^ k).totient / 2) * p ^ (p ^ (k - 1) * ((p - 1) * k - 1))

          We compute the absolute discriminant of a p ^ k-th cyclotomic field. Beware that in the cases p ^ k = 1 and p ^ k = 2 the formula uses 1 / 2 = 0 and 0 - 1 = 0. See also the results below.

          @[deprecated IsCyclotomicExtension.Rat.discr_prime_pow (since := "2025-11-24")]
          theorem IsCyclotomicExtension.Rat.absdiscr_prime_pow (p k : ) (K : Type u) [Field K] [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ k} K] :
          NumberField.discr K = (-1) ^ ((p ^ k).totient / 2) * p ^ (p ^ (k - 1) * ((p - 1) * k - 1))

          Alias of IsCyclotomicExtension.Rat.discr_prime_pow.


          We compute the absolute discriminant of a p ^ k-th cyclotomic field. Beware that in the cases p ^ k = 1 and p ^ k = 2 the formula uses 1 / 2 = 0 and 0 - 1 = 0. See also the results below.

          theorem IsCyclotomicExtension.Rat.discr_prime_pow_succ (p k : ) (K : Type u) [Field K] [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] :
          NumberField.discr K = (-1) ^ (p ^ k * (p - 1) / 2) * p ^ (p ^ k * ((p - 1) * (k + 1) - 1))

          We compute the absolute discriminant of a p ^ (k + 1)-th cyclotomic field. Beware that in the case p ^ k = 2 the formula uses 1 / 2 = 0. See also the results below.

          @[deprecated IsCyclotomicExtension.Rat.discr_prime_pow_succ (since := "2025-11-19")]
          theorem IsCyclotomicExtension.Rat.absdiscr_prime_pow_succ (p k : ) (K : Type u) [Field K] [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p ^ (k + 1)} K] :
          NumberField.discr K = (-1) ^ (p ^ k * (p - 1) / 2) * p ^ (p ^ k * ((p - 1) * (k + 1) - 1))

          Alias of IsCyclotomicExtension.Rat.discr_prime_pow_succ.


          We compute the absolute discriminant of a p ^ (k + 1)-th cyclotomic field. Beware that in the case p ^ k = 2 the formula uses 1 / 2 = 0. See also the results below.

          theorem IsCyclotomicExtension.Rat.discr_prime (p : ) (K : Type u) [Field K] [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p} K] :
          NumberField.discr K = (-1) ^ ((p - 1) / 2) * p ^ (p - 2)

          We compute the absolute discriminant of a p-th cyclotomic field where p is prime.

          @[deprecated IsCyclotomicExtension.Rat.discr_prime (since := "2025-11-19")]
          theorem IsCyclotomicExtension.Rat.absdiscr_prime (p : ) (K : Type u) [Field K] [hp : Fact (Nat.Prime p)] [CharZero K] [IsCyclotomicExtension {p} K] :
          NumberField.discr K = (-1) ^ ((p - 1) / 2) * p ^ (p - 2)

          Alias of IsCyclotomicExtension.Rat.discr_prime.


          We compute the absolute discriminant of a p-th cyclotomic field where p is prime.

          theorem IsCyclotomicExtension.Rat.discr (n : ) (K : Type u) [Field K] [CharZero K] [hn : NeZero n] [hK : IsCyclotomicExtension {n} K] :
          NumberField.discr K = (-1) ^ (n.totient / 2) * (n ^ n.totient / (∏ pn.primeFactors, p ^ (n.totient / (p - 1))))

          Computes the absolute discriminant of the n-th cyclotomic field.

          theorem IsCyclotomicExtension.Rat.natAbs_discr (n : ) (K : Type u) [Field K] [CharZero K] [hn : NeZero n] [hK : IsCyclotomicExtension {n} K] :
          (NumberField.discr K).natAbs = n ^ n.totient / pn.primeFactors, p ^ (n.totient / (p - 1))
          theorem IsCyclotomicExtension.Rat.adjoin_singleton_eq_top {n : } {K : Type u} [Field K] [CharZero K] [hn : NeZero n] [hK : IsCyclotomicExtension {n} K] {ζ : K} ( : IsPrimitiveRoot ζ n) :
          [.toInteger] =
          theorem IsCyclotomicExtension.Rat.isIntegralClosure_adjoin_singleton {n : } {K : Type u} [Field K] [CharZero K] [hn : NeZero n] {ζ : K} [hcycl : IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :
          IsIntegralClosure [ζ] K

          The integral closure of inside CyclotomicField n ℚ is CyclotomicRing n ℤ ℚ.

          noncomputable def IsPrimitiveRoot.adjoinEquivRingOfIntegers {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :

          The algebra isomorphism adjoin ℤ {ζ} ≃ₐ[ℤ] (𝓞 K), where ζ is a primitive n-th root of unity and K is an n-th cyclotomic extension of .

          Instances For
            @[simp]
            theorem IsPrimitiveRoot.adjoinEquivRingOfIntegers_apply {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) (a : [ζ]) :
            @[simp]
            theorem IsPrimitiveRoot.adjoinEquivRingOfIntegers_symm_apply {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) (a : NumberField.RingOfIntegers K) :

            The ring of integers of an n-th cyclotomic extension of is a cyclotomic extension.

            @[deprecated IsCyclotomicExtension.ringOfIntegers (since := "2025-11-26")]

            Alias of IsCyclotomicExtension.ringOfIntegers.


            The ring of integers of an n-th cyclotomic extension of is a cyclotomic extension.

            noncomputable def IsPrimitiveRoot.integralPowerBasis {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :

            The integral PowerBasis of 𝓞 K given by a primitive root of unity, where K is an n-th cyclotomic extension of .

            Instances For
              @[simp]
              theorem IsPrimitiveRoot.integralPowerBasis_gen {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [hcycl : IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :
              @[simp]
              theorem IsPrimitiveRoot.integralPowerBasis_dim {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :
              noncomputable def IsPrimitiveRoot.subOneIntegralPowerBasis {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :

              The integral PowerBasis of 𝓞 K given by ζ - 1, where K is a cyclotomic extension of .

              Instances For
                @[simp]
                theorem IsPrimitiveRoot.subOneIntegralPowerBasis_gen {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :
                .subOneIntegralPowerBasis.gen = ζ - 1,
                @[deprecated IsPrimitiveRoot.integralPowerBasis (since := "2025-11-26")]
                def IsPrimitiveRoot.integralPowerBasis' {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :

                Alias of IsPrimitiveRoot.integralPowerBasis.


                The integral PowerBasis of 𝓞 K given by a primitive root of unity, where K is an n-th cyclotomic extension of .

                Instances For
                  @[deprecated IsPrimitiveRoot.integralPowerBasis_gen (since := "2025-11-26")]
                  theorem IsPrimitiveRoot.integralPowerBasis'_gen {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [hcycl : IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :

                  Alias of IsPrimitiveRoot.integralPowerBasis_gen.

                  @[deprecated IsPrimitiveRoot.integralPowerBasis_dim (since := "2025-11-26")]
                  theorem IsPrimitiveRoot.power_basis_int'_dim {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :

                  Alias of IsPrimitiveRoot.integralPowerBasis_dim.

                  @[deprecated IsPrimitiveRoot.subOneIntegralPowerBasis (since := "2025-11-26")]
                  def IsPrimitiveRoot.subOneIntegralPowerBasis' {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :

                  Alias of IsPrimitiveRoot.subOneIntegralPowerBasis.


                  The integral PowerBasis of 𝓞 K given by ζ - 1, where K is a cyclotomic extension of .

                  Instances For
                    @[deprecated IsPrimitiveRoot.subOneIntegralPowerBasis_gen (since := "2025-11-26")]
                    theorem IsPrimitiveRoot.subOneIntegralPowerBasis'_gen {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :
                    .subOneIntegralPowerBasis.gen = ζ - 1,

                    Alias of IsPrimitiveRoot.subOneIntegralPowerBasis_gen.

                    @[deprecated IsPrimitiveRoot.subOneIntegralPowerBasis_gen (since := "2025-11-26")]
                    theorem IsPrimitiveRoot.subOneIntegralPowerBasis'_gen_prime {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :
                    .subOneIntegralPowerBasis.gen = ζ - 1,

                    Alias of IsPrimitiveRoot.subOneIntegralPowerBasis_gen.

                    @[deprecated IsPrimitiveRoot.subOneIntegralPowerBasis_gen (since := "2025-11-26")]
                    theorem IsPrimitiveRoot.subOneIntegralPowerBasis_gen_prime {n : } {K : Type u} [Field K] {ζ : K} [NeZero n] [CharZero K] [IsCyclotomicExtension {n} K] ( : IsPrimitiveRoot ζ n) :
                    .subOneIntegralPowerBasis.gen = ζ - 1,

                    Alias of IsPrimitiveRoot.subOneIntegralPowerBasis_gen.

                    theorem NumberField.Units.dvd_torsionOrder_of_isPrimitiveRoot {n : } {K : Type u} [Field K] [NeZero n] [NumberField K] {ζ : K} ( : IsPrimitiveRoot ζ n) :
                    n torsionOrder K
                    theorem IsCyclotomicExtension.Rat.torsionOrder_eq {n : } {K : Type u} [Field K] [NeZero n] [NumberField K] [hK : IsCyclotomicExtension {n} K] :
                    NumberField.Units.torsionOrder K = if Even n then n else 2 * n

                    The order of the torsion group of the n-th cyclotomic field is n if n is even and 2n if n is odd.