Skip to content

Commit fea09db

Browse files
committed
Update
1 parent db6720c commit fea09db

File tree

2 files changed

+31
-35
lines changed

2 files changed

+31
-35
lines changed

FLT3/FLT3.lean

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -465,39 +465,24 @@ lemma associated_of_dvd_a_add_b_of_dvd_a_add_eta_mul_b {p : 𝓞 K} (hp : Prime
465465
is associated with `λ`. -/
466466
lemma associated_of_dvd_a_add_b_of_dvd_a_add_eta_sq_mul_b {p : 𝓞 K} (hp : Prime p)
467467
(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
501486

502487
/-- If `p : 𝓞 K` is a prime that divides both `S.a + η * S.b` and `S.a + η ^ 2 * S.b`, then `p`
503488
is associated with `λ`. -/

blueprint/src/chapters/2-case2.tex

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -549,8 +549,19 @@ \chapter{Case 2}
549549
\end{lemma}
550550
\begin{proof}
551551
\leanok
552-
\uses{lmm:lambda_prime, lmm:eta_add_one_inv, lmm:toInteger_cube_eq_one}
553-
% TODO
552+
\uses{lmm:lambda_prime, lmm:toInteger_cube_eq_one, lmm:eta_isUnit}
553+
We proceed by analysis each case:
554+
\begin{itemize}
555+
\item Case $p \divides \lambda$. It directly follows from \Cref{lmm:lambda_prime}.
556+
\item Case $p \notdivides \lambda$. \\
557+
By hypothesis, we have that $p \divides a+ b$ and $p \divides a+\eta^2 b$.
558+
By \Cref{lmm:toInteger_cube_eq_one} and \Cref{lmm:eta_isUnit}, we have that
559+
$$p \divides \eta ((a+\eta^2 b) - (a+ b)) = - (\eta^3 - \eta) b = \lambda b,$$
560+
which implies that $p \divides b$
561+
and we proceed analogously to show that $p \divides a$.\\
562+
Therefore $p \divides \gcd(a,b)=1$ which is absurd.
563+
\end{itemize}
564+
Therefore, we can conclude that $p$ is associated with $\lambda$.
554565
\end{proof}
555566

556567
\begin{lemma}

0 commit comments

Comments
 (0)