1
1
import FltRegular.CaseII.AuxLemmas
2
2
import FltRegular.NumberTheory.KummersLemma.KummersLemma
3
- import FltRegular.NumberTheory.Cyclotomic.Factoring
4
3
5
4
open scoped BigOperators nonZeroDivisors NumberField
6
5
open Polynomial
@@ -70,8 +69,8 @@ include hp hζ e hz in
70
69
lemma x_plus_y_mul_ne_zero : x + y * η ≠ 0 := by
71
70
intro hη
72
71
have : x + y * η ∣ x ^ (p : ℕ) + y ^ (p : ℕ) := by
73
- rw [pow_add_pow_eq_prod_add_zeta_runity_mul _ _
74
- ( hpri.out.eq_two_or_odd.resolve_left (PNat.coe_injective.ne hp)) hζ.unit'_coe ]
72
+ rw [hζ.unit'_coe.pow_add_pow_eq_prod_add_mul _ _ <| Nat.odd_iff. 2 <|
73
+ hpri.out.eq_two_or_odd.resolve_left (PNat.coe_injective.ne hp)]
75
74
simp_rw [mul_comm _ y]
76
75
exact Finset.dvd_prod_of_mem _ η.prop
77
76
rw [hη, zero_dvd_iff, e] at this
@@ -90,8 +89,9 @@ lemma one_sub_zeta_dvd_zeta_pow_sub : π ∣ x + y * η := by
90
89
letI := IsCyclotomicExtension.numberField {p} ℚ K
91
90
have h := zeta_sub_one_dvd hζ e
92
91
replace h : ∏ _η in nthRootsFinset p (𝓞 K), Ideal.Quotient.mk 𝔭 (x + y * η : 𝓞 K) = 0 := by
93
- rw [pow_add_pow_eq_prod_add_zeta_runity_mul _ _ (hpri.out.eq_two_or_odd.resolve_left
94
- (PNat.coe_injective.ne hp)) hζ.unit'_coe, ← Ideal.Quotient.eq_zero_iff_dvd, map_prod] at h
92
+ rw [hζ.unit'_coe.pow_add_pow_eq_prod_add_mul _ _ <| Nat.odd_iff.2 <|
93
+ hpri.out.eq_two_or_odd.resolve_left
94
+ (PNat.coe_injective.ne hp), ← Ideal.Quotient.eq_zero_iff_dvd, map_prod] at h
95
95
convert h using 2 with η' hη'
96
96
rw [map_add, map_add, map_mul, map_mul, IsPrimitiveRoot.eq_one_mod_one_sub' hζ.unit'_coe hη',
97
97
IsPrimitiveRoot.eq_one_mod_one_sub' hζ.unit'_coe η.prop, one_mul, mul_one]
@@ -249,8 +249,8 @@ lemma exists_ideal_pow_eq_c_aux :
249
249
/- The ∏_η, 𝔠 η = (𝔷' 𝔭^m)^p with 𝔷 = 𝔪 𝔷' -/
250
250
lemma prod_c : ∏ η in Finset.attach (nthRootsFinset p (𝓞 K)), 𝔠 η = (𝔷' * 𝔭 ^ m) ^ (p : ℕ) := by
251
251
have e' := span_pow_add_pow_eq hζ e
252
- rw [pow_add_pow_eq_prod_add_zeta_runity_mul _ _
253
- ( hpri.out.eq_two_or_odd.resolve_left (PNat.coe_injective.ne hp)) hζ.unit'_coe ] at e'
252
+ rw [hζ.unit'_coe.pow_add_pow_eq_prod_add_mul _ _ <| Nat.odd_iff. 2 <|
253
+ hpri.out.eq_two_or_odd.resolve_left (PNat.coe_injective.ne hp)] at e'
254
254
rw [← Ideal.prod_span_singleton, ← Finset.prod_attach] at e'
255
255
simp_rw [mul_comm _ y, ← m_mul_c_mul_p hp hζ e hy,
256
256
Finset.prod_mul_distrib, Finset.prod_const, Finset.card_attach,
0 commit comments