Documentation

LeanPool.FltRegular.CaseII.InductionStep

The induction step in Case II #

This file constructs the ideal and unit data that turn a Case II solution into the next solution in the induction.

theorem zeta_sub_one_dvd {K : Type} {p : } [NeZero p] [Field K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) :
.toInteger - 1 x ^ p + y ^ p
theorem span_pow_add_pow_eq {K : Type} {p : } [NeZero p] [Field K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) :
Ideal.span {x ^ p + y ^ p} = (Ideal.span {.toInteger - 1} ^ (m + 1) * Ideal.span {z}) ^ p
theorem m_ne_zero {K : Type} {p : } [NeZero p] [Field K] [NumberField K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y : NumberField.RingOfIntegers K} (hy : ¬.toInteger - 1 y) :
theorem coprime_c_aux {K : Type} {p : } [NeZero p] [Field K] [NumberField K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y : NumberField.RingOfIntegers K} [hpri : Fact (Nat.Prime p)] (η₁ η₂ : (Polynomial.nthRootsFinset p 1)) ( : η₁ η₂) :
Ideal.span {x + y * η₁}Ideal.span {x + y * η₂} gcd (Ideal.span {x}) (Ideal.span {y}) * Ideal.span {.toInteger - 1}
theorem x_plus_y_mul_ne_zero {K : Type} {p : } [NeZero p] [Field K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] :
x + y * η 0
theorem one_sub_zeta_dvd_zeta_pow_sub {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
.toInteger - 1 x + y * η
theorem div_one_sub_zeta_mem {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
IsIntegral (↑(x + y * η) / (ζ - 1))
def divZetaSubOne {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :

The integral quotient (x + y * η) / (ζ - 1) for a p-th root of unity η.

Equations
Instances For
    theorem div_zeta_sub_one_mul_zeta_sub_one {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] (η : (Polynomial.nthRootsFinset p 1)) :
    divZetaSubOne hp e η * (.toInteger - 1) = x + y * η
    theorem div_zeta_sub_one_sub {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] (η₁ η₂ : (Polynomial.nthRootsFinset p 1)) ( : η₁ η₂) :
    Associated y (divZetaSubOne hp e η₁ - divZetaSubOne hp e η₂)
    theorem div_zeta_sub_one_Injective {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
    theorem div_zeta_sub_one_Bijective {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
    theorem gcd_zeta_sub_one_eq_one {K : Type} {p : } [NeZero p] [Field K] [NumberField K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y : NumberField.RingOfIntegers K} (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
    theorem gcd_div_div_zeta_sub_one {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] (η : (Polynomial.nthRootsFinset p 1)) :
    noncomputable def divZetaSubOneDvdGcd {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :

    The quotient ideal obtained from the divisibility by 𝔪.

    Equations
    Instances For
      theorem div_zeta_sub_one_dvd_gcd_spec {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
      gcd (Ideal.span {x}) (Ideal.span {y}) * (fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η = Ideal.span {divZetaSubOne hp e η}
      theorem m_mul_c_mul_p {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
      gcd (Ideal.span {x}) (Ideal.span {y}) * (fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η * Ideal.span {.toInteger - 1} = Ideal.span {x + y * η}
      theorem p_ne_zero {K : Type} {p : } [NeZero p] [Field K] {ζ : K} ( : IsPrimitiveRoot ζ p) [hpri : Fact (Nat.Prime p)] :
      theorem coprime_c {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] (η₁ η₂ : (Polynomial.nthRootsFinset p 1)) ( : η₁ η₂) :
      IsCoprime ((fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η₁) ((fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η₂)
      theorem gcd_m_p_pow_eq_one {K : Type} {p : } [NeZero p] [Field K] [NumberField K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y : NumberField.RingOfIntegers K} {m : } (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
      theorem m_dvd_z {K : Type} {p : } [NeZero p] [Field K] [NumberField K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
      noncomputable def zDivM {K : Type} {p : } [NeZero p] [Field K] [NumberField K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :

      The ideal quotient witnessing 𝔷 = 𝔪 * zDivM.

      Equations
      Instances For
        theorem z_div_m_spec {K : Type} {p : } [NeZero p] [Field K] [NumberField K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
        theorem exists_ideal_pow_eq_c_aux {K : Type} {p : } [NeZero p] [Field K] [NumberField K] {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
        gcd (Ideal.span {x}) (Ideal.span {y}) ^ p * (zDivM e hy * Ideal.span {.toInteger - 1} ^ m) ^ p * Ideal.span {.toInteger - 1} ^ p = (Ideal.span {.toInteger - 1} ^ (m + 1) * Ideal.span {z}) ^ p
        theorem prod_c {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
        η(Polynomial.nthRootsFinset p 1).attach, (fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η = (zDivM e hy * Ideal.span {.toInteger - 1} ^ m) ^ p
        theorem exists_ideal_pow_eq_c {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
        ∃ (I : Ideal (NumberField.RingOfIntegers K)), (fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η = I ^ p
        noncomputable def rootDivZetaSubOneDvdGcd {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :

        A p-th ideal root of 𝔠 η.

        Equations
        Instances For
          theorem root_div_zeta_sub_one_dvd_gcd_spec {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
          rootDivZetaSubOneDvdGcd hp e hy η ^ p = (fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η
          theorem c_div_principal_aux {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] (η₁ η₂ : (Polynomial.nthRootsFinset p 1)) :
          (Ideal.span {x + y * η₁}) / (Ideal.span {x + y * η₂}) = ((fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η₁) / ((fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η₂)
          theorem c_div_principal {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] (η₁ η₂ : (Polynomial.nthRootsFinset p 1)) :
          (↑(((fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η₁) / ((fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η₂))).IsPrincipal
          noncomputable def zetaSubOneDvdRoot {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :

          The unique root of unity whose quotient is divisible by ζ - 1.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem zeta_sub_one_dvd_root_spec {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
            theorem p_dvd_c_iff {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
            Ideal.span {.toInteger - 1} (fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η η = zetaSubOneDvdRoot hp e hy
            theorem p_pow_dvd_c_eta_zero_aux {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [DecidableEq (NumberField.RingOfIntegers K)] :
            gcd (Ideal.span {.toInteger - 1} ^ (m * p)) (∏ η(Polynomial.nthRootsFinset p 1).attach \ {zetaSubOneDvdRoot hp e hy}, (fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) η) = 1
            theorem p_dvd_a_iff {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
            theorem p_pow_dvd_c_eta_zero {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
            Ideal.span {.toInteger - 1} ^ (m * p) (fun (η : (Polynomial.nthRootsFinset p 1)) => divZetaSubOneDvdGcd hp e hy η) (zetaSubOneDvdRoot hp e hy)
            theorem p_pow_dvd_a_eta_zero {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
            noncomputable def aEtaZeroDvdPPow {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :

            The quotient ideal after removing 𝔭 ^ m from the distinguished ideal root.

            Equations
            Instances For
              theorem a_eta_zero_dvd_p_pow_spec {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
              Ideal.span {.toInteger - 1} ^ m * aEtaZeroDvdPPow hp e hy = rootDivZetaSubOneDvdGcd hp e hy (zetaSubOneDvdRoot hp e hy)
              theorem not_p_div_a_zero {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
              theorem one_le_m {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] :
              1 m
              theorem exists_solution'_aux {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y : NumberField.RingOfIntegers K} [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] {ε₁ ε₂ : (NumberField.RingOfIntegers K)ˣ} (hx : ¬.toInteger - 1 x) (h : p ε₁ * x ^ p + ε₂ * y ^ p) :
              ∃ (a : NumberField.RingOfIntegers K), p ↑(ε₁ / ε₂) - a ^ p
              theorem a_div_principal {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) (η₁ η₂ : (Polynomial.nthRootsFinset p 1)) :
              (↑((rootDivZetaSubOneDvdGcd hp e hy η₁) / (rootDivZetaSubOneDvdGcd hp e hy η₂))).IsPrincipal
              theorem isPrincipal_a_div_a_zero {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) :
              (↑((rootDivZetaSubOneDvdGcd hp e hy η) / (aEtaZeroDvdPPow hp e hy))).IsPrincipal
              theorem exists_not_dvd_spanSingleton_eq_a_div_a_zero {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) ( : η zetaSubOneDvdRoot hp e hy) :
              noncomputable def aDivAZeroNum {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) ( : η zetaSubOneDvdRoot hp e hy) :

              A numerator for the principal fractional ideal 𝔞 η / 𝔞₀.

              Equations
              Instances For
                noncomputable def aDivAZeroDenom {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) ( : η zetaSubOneDvdRoot hp e hy) :

                A denominator for the principal fractional ideal 𝔞 η / 𝔞₀.

                Equations
                Instances For
                  theorem a_div_a_zero_num_spec {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) ( : η zetaSubOneDvdRoot hp e hy) :
                  ¬.toInteger - 1 (fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroNum hp e hy hz η hreg) η
                  theorem a_div_a_zero_denom_spec {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) ( : η zetaSubOneDvdRoot hp e hy) :
                  ¬.toInteger - 1 (fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroDenom hp e hy hz η hreg) η
                  theorem a_div_a_zero_eq {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) ( : η zetaSubOneDvdRoot hp e hy) :
                  FractionalIdeal.spanSingleton (nonZeroDivisors (NumberField.RingOfIntegers K)) (((fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroNum hp e hy hz η hreg) η ) / ((fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroDenom hp e hy hz η hreg) η )) = (rootDivZetaSubOneDvdGcd hp e hy η) / (aEtaZeroDvdPPow hp e hy)
                  theorem a_mul_denom_eq_a_zero_mul_num {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) ( : η zetaSubOneDvdRoot hp e hy) :
                  rootDivZetaSubOneDvdGcd hp e hy η * Ideal.span {(fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroDenom hp e hy hz η hreg) η } = aEtaZeroDvdPPow hp e hy * Ideal.span {(fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroNum hp e hy hz η hreg) η }
                  theorem associated_eta_zero {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) ( : η zetaSubOneDvdRoot hp e hy) :
                  Associated ((x + y * (zetaSubOneDvdRoot hp e hy)) * (fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroNum hp e hy hz η hreg) η ^ p) ((x + y * η) * (.toInteger - 1) ^ (m * p) * (fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroDenom hp e hy hz η hreg) η ^ p)
                  noncomputable def associatedEtaZeroUnit {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) (η : (Polynomial.nthRootsFinset p 1)) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) ( : η zetaSubOneDvdRoot hp e hy) :

                  The unit witnessing the association in associated_eta_zero.

                  Equations
                  Instances For
                    theorem associated_eta_zero_unit_spec {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) (η : (Polynomial.nthRootsFinset p 1)) ( : η zetaSubOneDvdRoot hp e hy) :
                    ((fun (η : (Polynomial.nthRootsFinset p 1)) => associatedEtaZeroUnit hp e hy hz η hreg) η ) * (x + y * (zetaSubOneDvdRoot hp e hy)) * (fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroNum hp e hy hz η hreg) η ^ p = (x + y * η) * (.toInteger - 1) ^ (m * p) * (fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroDenom hp e hy hz η hreg) η ^ p
                    theorem formula {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) (η₁ : (Polynomial.nthRootsFinset p 1)) (hη₁ : η₁ zetaSubOneDvdRoot hp e hy) (η₂ : (Polynomial.nthRootsFinset p 1)) (hη₂ : η₂ zetaSubOneDvdRoot hp e hy) :
                    (η₂ - (zetaSubOneDvdRoot hp e hy)) * ((fun (η : (Polynomial.nthRootsFinset p 1)) => associatedEtaZeroUnit hp e hy hz η hreg) η₁ hη₁) * ((fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroNum hp e hy hz η hreg) η₁ hη₁ * (fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroDenom hp e hy hz η hreg) η₂ hη₂) ^ p + ((zetaSubOneDvdRoot hp e hy) - η₁) * ((fun (η : (Polynomial.nthRootsFinset p 1)) => associatedEtaZeroUnit hp e hy hz η hreg) η₂ hη₂) * ((fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroNum hp e hy hz η hreg) η₂ hη₂ * (fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroDenom hp e hy hz η hreg) η₁ hη₁) ^ p = (η₂ - η₁) * ((.toInteger - 1) ^ m * ((fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroDenom hp e hy hz η hreg) η₁ hη₁ * (fun (η : (Polynomial.nthRootsFinset p 1)) => aDivAZeroDenom hp e hy hz η hreg) η₂ hη₂)) ^ p
                    theorem exists_solution {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) :
                    ∃ (x' : NumberField.RingOfIntegers K) (y' : NumberField.RingOfIntegers K) (z' : NumberField.RingOfIntegers K) (ε₁ : (NumberField.RingOfIntegers K)ˣ) (ε₂ : (NumberField.RingOfIntegers K)ˣ) (ε₃ : (NumberField.RingOfIntegers K)ˣ), ¬.toInteger - 1 x' ¬.toInteger - 1 y' ¬.toInteger - 1 z' ε₁ * x' ^ p + ε₂ * y' ^ p = ε₃ * ((.toInteger - 1) ^ m * z') ^ p
                    theorem exists_solution' {K : Type} {p : } [NeZero p] [Field K] [NumberField K] (hp : p 2) {ζ : K} ( : IsPrimitiveRoot ζ p) {x y z : NumberField.RingOfIntegers K} {ε : (NumberField.RingOfIntegers K)ˣ} {m : } (e : x ^ p + y ^ p = ε * ((.toInteger - 1) ^ (m + 1) * z) ^ p) (hy : ¬.toInteger - 1 y) (hz : ¬.toInteger - 1 z) [hpri : Fact (Nat.Prime p)] [IsCyclotomicExtension {p} K] [Fintype (ClassGroup (NumberField.RingOfIntegers K))] (hreg : p.Coprime (Fintype.card (ClassGroup (NumberField.RingOfIntegers K)))) :
                    ∃ (x' : NumberField.RingOfIntegers K) (y' : NumberField.RingOfIntegers K) (z' : NumberField.RingOfIntegers K) (ε₃ : (NumberField.RingOfIntegers K)ˣ), ¬.toInteger - 1 y' ¬.toInteger - 1 z' x' ^ p + y' ^ p = ε₃ * ((.toInteger - 1) ^ m * z') ^ p