Documentation

FltRegular.NumberTheory.Cyclotomic.UnitLemmas

@[simp]
theorem coe_zpow' {K : Type u_1} [Field K] (u : { x // x NumberField.ringOfIntegers K }ˣ) (n : ) :
↑(u ^ n) = u ^ n
theorem auxil {K : Type u_1} [Field K] (a : { x // x NumberField.ringOfIntegers K }ˣ) (b : { x // x NumberField.ringOfIntegers K }ˣ) (c : { x // x NumberField.ringOfIntegers K }ˣ) (d : { x // x NumberField.ringOfIntegers K }ˣ) (h : a * b⁻¹ = c * d) :
a * d⁻¹ = b * c
@[simp]
theorem IsPrimitiveRoot.val_unit'_coe {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) :
↑(IsPrimitiveRoot.unit' ) = ζ
@[simp]
theorem IsPrimitiveRoot.val_inv_unit'_coe {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) :
def IsPrimitiveRoot.unit' {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) :

zeta now as a unit in the ring of integers. This way there are no coe issues

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem IsPrimitiveRoot.coe_unit'_coe {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) :
    ↑(IsPrimitiveRoot.unit' ) = ζ
    @[simp]
    theorem IsPrimitiveRoot.coe_inv_unit'_coe {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) :
    @[simp]
    theorem IsPrimitiveRoot.unit'_val_coe {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) :
    ↑(IsPrimitiveRoot.unit' ) = ζ
    theorem IsPrimitiveRoot.unit'_pow {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) :
    theorem zeta_runity_pow_even {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) (hpo : Odd p) (n : ) :
    theorem IsPrimitiveRoot.unit'_coe {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] :
    def IsGalConjReal (p : ℕ+) {K : Type u_1} [Field K] [NumberField K] (x : K) [IsCyclotomicExtension {p} K] :

    is_gal_conj_real x means that x is real.

    Equations
    Instances For
      theorem totient_le_one_dvd_two {a : } (han : 0 < a) (ha : Nat.totient a 1) :
      a 2
      theorem eq_one_mod_one_sub {A : Type u_1} [CommRing A] {t : A} :
      ↑(algebraMap A (A Ideal.span {t - 1})) t = 1
      theorem IsPrimitiveRoot.eq_one_mod_sub_of_pow {p : ℕ+} {A : Type u_1} [CommRing A] [IsDomain A] {ζ : A} (hζ : IsPrimitiveRoot ζ p) {μ : A} (hμ : μ ^ p = 1) :
      ↑(algebraMap A (A Ideal.span {ζ - 1})) μ = 1
      theorem aux {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] {t : } {l : { x // x NumberField.ringOfIntegers K }} {f : Fin t} {μ : K} (hμ : IsPrimitiveRoot μ p) (h : (Finset.sum Finset.univ fun x => f x { val := μ, property := (_ : IsIntegral μ) } ^ x) = l) :
      ↑(algebraMap { x // x NumberField.ringOfIntegers K } ({ x // x NumberField.ringOfIntegers K } Ideal.span {↑(IsPrimitiveRoot.unit' ) - 1})) l = Finset.sum Finset.univ fun x => ↑(f x)
      theorem IsPrimitiveRoot.p_mem_one_sub_zeta {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] [hp : Fact (Nat.Prime p)] :
      p Ideal.span {↑(IsPrimitiveRoot.unit' ) - 1}
      theorem roots_of_unity_in_cyclo_aux {p : ℕ+} {K : Type u_1} [Field K] [NumberField K] [IsCyclotomicExtension {p} K] {x : K} {n : } {l : } (hl : l Nat.divisors n) (hx : x NumberField.ringOfIntegers K) (hhl : Polynomial.IsRoot (Polynomial.cyclotomic l { x // x NumberField.ringOfIntegers K }) { val := x, property := hx }) {ζ : K} (hζ : IsPrimitiveRoot ζ p) :
      l 2 * p
      theorem roots_of_unity_in_cyclo {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] [IsCyclotomicExtension {p} K] (hpo : Odd p) (x : K) (h : n x, x ^ n = 1) :
      m k, x = (-1) ^ k * ↑(IsPrimitiveRoot.unit' ) ^ m
      theorem norm_cast_ne_two {p : ℕ+} (h : p 2) :
      p 2
      theorem IsPrimitiveRoot.isPrime_one_sub_zeta {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] [IsCyclotomicExtension {p} K] [hp : Fact (Nat.Prime p)] (h : p 2) :
      theorem IsPrimitiveRoot.two_not_mem_one_sub_zeta {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] [IsCyclotomicExtension {p} K] [hp : Fact (Nat.Prime p)] (h : p 2) :
      theorem IsUnit.eq_mul_left_iff {S : Type u_1} [CommRing S] {x : S} (hx : IsUnit x) (y : S) :
      x = y * x y = 1
      theorem map_two {S : Type u_1} {T : Type u_2} {F : Type u_3} [NonAssocSemiring S] [NonAssocSemiring T] [RingHomClass F S T] (f : F) :
      f 2 = 2
      theorem Units.coe_map_inv' {M : Type u_1} {N : Type u_2} {F : Type u_3} [Monoid M] [Monoid N] [MonoidHomClass F M N] (f : F) (m : Mˣ) :
      (↑(Units.map f) m)⁻¹ = f m⁻¹
      theorem unit_inv_conj_not_neg_zeta_runity_aux {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] [IsCyclotomicExtension {p} K] (u : { x // x NumberField.ringOfIntegers K }ˣ) (hp : Nat.Prime p) :
      theorem unit_inv_conj_not_neg_zeta_runity {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] [IsCyclotomicExtension {p} K] (h : p 2) (u : { x // x NumberField.ringOfIntegers K }ˣ) (n : ) (hp : Nat.Prime p) :
      theorem unit_inv_conj_is_root_of_unity {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] [IsCyclotomicExtension {p} K] (h : p 2) (hp : Nat.Prime p) (u : { x // x NumberField.ringOfIntegers K }ˣ) :
      m, u * (↑(unitGalConj K p) u)⁻¹ = (IsPrimitiveRoot.unit' ^ m) ^ 2
      theorem inv_coe_coe {K : Type u_1} {A : Type u_2} [Field K] [SetLike A K] [SubsemiringClass A K] {S : A} (s : { x // x S }ˣ) :
      (s)⁻¹ = s⁻¹
      theorem unit_lemma_gal_conj {p : ℕ+} {K : Type u_1} [Field K] {ζ : K} (hζ : IsPrimitiveRoot ζ p) [NumberField K] [IsCyclotomicExtension {p} K] (h : p 2) (hp : Nat.Prime p) (u : { x // x NumberField.ringOfIntegers K }ˣ) :
      x n, IsGalConjReal p x u = x * IsPrimitiveRoot.unit' ^ n
      theorem IsPrimitiveRoot.eq_one_mod_one_sub' {A : Type u_1} [CommRing A] [IsDomain A] {n : ℕ+} {ζ : A} (hζ : IsPrimitiveRoot ζ n) {η : A} (hη : η Polynomial.nthRootsFinset (n) A) :
      ↑(Ideal.Quotient.mk (Ideal.span {ζ - 1})) η = 1