theorem
FltRegular.CaseI.auxf0k₁
{p : ℕ}
(hpri : Nat.Prime p)
(hp5 : 5 ≤ p)
(b : ℤ)
:
∃ i, FltRegular.CaseI.f0k₁ b p ↑i = 0
theorem
FltRegular.CaseI.aux0k₁
{p : ℕ}
(hpri : Nat.Prime p)
{a : ℤ}
{b : ℤ}
{c : ℤ}
{ζ : { x // x ∈ NumberField.ringOfIntegers (CyclotomicField { val := p, property := (_ : 0 < p) } ℚ) }}
(hp5 : 5 ≤ p)
(hζ : IsPrimitiveRoot ζ p)
(caseI : ¬↑p ∣ a * b * c)
{k₁ : Fin p}
{k₂ : Fin p}
(hcong : ↑↑k₂ ≡ ↑↑k₁ - 1 [ZMOD ↑p])
(hdiv : ↑p ∣ ↑a + ↑b * ζ - ↑a * ζ ^ ↑k₁ - ↑b * ζ ^ ↑k₂)
:
0 ≠ ↑k₁
theorem
FltRegular.CaseI.auxf0k₂
{p : ℕ}
(hpri : Nat.Prime p)
(hp5 : 5 ≤ p)
(a : ℤ)
(b : ℤ)
:
∃ i, FltRegular.CaseI.f0k₂ a b ↑i = 0
theorem
FltRegular.CaseI.aux0k₂
{p : ℕ}
(hpri : Nat.Prime p)
{a : ℤ}
{b : ℤ}
{ζ : { x // x ∈ NumberField.ringOfIntegers (CyclotomicField { val := p, property := (_ : 0 < p) } ℚ) }}
(hp5 : 5 ≤ p)
(hζ : IsPrimitiveRoot ζ p)
(hab : ¬a ≡ b [ZMOD ↑p])
{k₁ : Fin p}
{k₂ : Fin p}
(hcong : ↑↑k₂ ≡ ↑↑k₁ - 1 [ZMOD ↑p])
(hdiv : ↑p ∣ ↑a + ↑b * ζ - ↑a * ζ ^ ↑k₁ - ↑b * ζ ^ ↑k₂)
:
0 ≠ ↑k₂
theorem
FltRegular.CaseI.aux1k₁
{p : ℕ}
(hpri : Nat.Prime p)
{a : ℤ}
{b : ℤ}
{ζ : { x // x ∈ NumberField.ringOfIntegers (CyclotomicField { val := p, property := (_ : 0 < p) } ℚ) }}
(hp5 : 5 ≤ p)
(hζ : IsPrimitiveRoot ζ p)
(hab : ¬a ≡ b [ZMOD ↑p])
{k₁ : Fin p}
{k₂ : Fin p}
(hcong : ↑↑k₂ ≡ ↑↑k₁ - 1 [ZMOD ↑p])
(hdiv : ↑p ∣ ↑a + ↑b * ζ - ↑a * ζ ^ ↑k₁ - ↑b * ζ ^ ↑k₂)
:
1 ≠ ↑k₁
Auxiliary function
Equations
- FltRegular.CaseI.f1k₂ a x = if x = 0 then a else if x = 2 then -a else 0
Instances For
theorem
FltRegular.CaseI.auxf1k₂
{p : ℕ}
(hpri : Nat.Prime p)
(a : ℤ)
:
∃ i, FltRegular.CaseI.f1k₂ a ↑i = 0
theorem
FltRegular.CaseI.aux1k₂
{p : ℕ}
(hpri : Nat.Prime p)
{a : ℤ}
{b : ℤ}
{c : ℤ}
{ζ : { x // x ∈ NumberField.ringOfIntegers (CyclotomicField { val := p, property := (_ : 0 < p) } ℚ) }}
(hp5 : 5 ≤ p)
(hζ : IsPrimitiveRoot ζ p)
(caseI : ¬↑p ∣ a * b * c)
{k₁ : Fin p}
{k₂ : Fin p}
(hcong : ↑↑k₂ ≡ ↑↑k₁ - 1 [ZMOD ↑p])
(hdiv : ↑p ∣ ↑a + ↑b * ζ - ↑a * ζ ^ ↑k₁ - ↑b * ζ ^ ↑k₂)
:
1 ≠ ↑k₂