@@ -465,39 +465,24 @@ lemma associated_of_dvd_a_add_b_of_dvd_a_add_eta_mul_b {p : 𝓞 K} (hp : Prime
465
465
is associated with `λ`. -/
466
466
lemma associated_of_dvd_a_add_b_of_dvd_a_add_eta_sq_mul_b {p : 𝓞 K} (hp : Prime p)
467
467
(hpab : p ∣ (S.a + S.b)) (hpaetasqb : p ∣ (S.a + η ^ 2 * S.b)) : Associated p λ := by
468
- by_cases H : Associated p (η - 1 )
469
- · exact H
470
- · apply Prime.associated_of_dvd hp hζ.lambda_prime
471
- have aux := dvd_sub hpab hpaetasqb
472
- rw [show S.a + S.b - (S.a + η ^ 2 * S.b) = (-λ * S.b) * (η + 1 ) by ring] at aux
473
- replace aux := dvd_mul_of_dvd_left aux (-η)
474
- rw [mul_assoc, eta_add_one_inv, mul_one, ← dvd_neg, neg_mul, neg_neg] at aux
475
- have aux1 := dvd_mul_of_dvd_left hpaetasqb η
476
- rw [show (S.a + η ^ 2 * S.b) * η = η * S.a + η^3 * S.b by ring] at aux1
477
- rw [hζ.toInteger_cube_eq_one, one_mul] at aux1
478
- replace aux1 := dvd_sub aux1 hpab
479
- rw [show (η * S.a + S.b) - (S.a + S.b) = λ * S.a by ring] at aux1
480
- exfalso
481
- apply hp.not_unit
482
- have aux2 := S.coprime
483
- have aux3 : IsBezout (𝓞 K) := IsBezout.of_isPrincipalIdealRing _
484
- rw [← gcd_isUnit_iff] at aux2
485
- suffices hdvd : p ∣ gcd S.a S.b by
486
- apply isUnit_of_dvd_unit hdvd
487
- exact aux2
488
- have p_not_div_lambda : ¬ p ∣ λ := by
489
- rw [Prime.dvd_prime_iff_associated hp hζ.lambda_prime]
490
- exact H
491
- have p_div_Sb : p ∣ S.b := by
492
- rcases Prime.dvd_or_dvd hp aux with (h | h)
493
- · tauto
494
- · exact h
495
- have p_div_Sa : p ∣ S.a := by
496
- rcases Prime.dvd_or_dvd hp aux1 with (h | h)
497
- · tauto
498
- · exact h
499
- rw [dvd_gcd_iff]
500
- exact ⟨p_div_Sa, p_div_Sb⟩
468
+ by_cases p_lam : (p ∣ λ)
469
+ · exact hp.associated_of_dvd hζ.lambda_prime p_lam
470
+ have pdivb : p ∣ S.b := by
471
+ have fgh : p ∣ λ * S.b := by
472
+ rw [show λ * S.b = - (1 - η) * S.b by ring, ← hζ.toInteger_cube_eq_one]
473
+ rw [show - (η ^ 3 - η) * S.b = η * ((S.a + S.b) - (S.a + η ^ 2 * S.b)) by ring]
474
+ rw [hζ.eta_isUnit.dvd_mul_left]
475
+ exact hpab.sub hpaetasqb
476
+ exact hp.dvd_or_dvd fgh |>.resolve_left p_lam
477
+ have pdiva : p ∣ S.a := by
478
+ have fgh : p ∣ λ * S.a := by
479
+ rw [show λ * S.a = - (1 - η) * S.a by ring, ← hζ.toInteger_cube_eq_one]
480
+ rw [show - (η ^ 3 - η) * S.a = η * ((S.a + η ^ 2 * S.b) - η ^ 2 * (S.a + S.b)) by ring]
481
+ rw [hζ.eta_isUnit.dvd_mul_left]
482
+ exact hpaetasqb.sub (dvd_mul_of_dvd_right hpab _)
483
+ exact hp.dvd_or_dvd fgh |>.resolve_left p_lam
484
+ have punit := S.coprime.isUnit_of_dvd' pdiva pdivb
485
+ exact hp.not_unit punit |>.elim
501
486
502
487
/-- If `p : 𝓞 K` is a prime that divides both `S.a + η * S.b` and `S.a + η ^ 2 * S.b`, then `p`
503
488
is associated with `λ`. -/
0 commit comments