[Merged by Bors] - feat: Mason-Stothers theorem (polynomial ABC)#15706
[Merged by Bors] - feat: Mason-Stothers theorem (polynomial ABC)#15706
Conversation
PR summary 8b3a2a85acImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
YaelDillies
left a comment
There was a problem hiding this comment.
maintainer merge
apart from that. Thanks!
|
🚀 Pull request has been placed on the maintainer queue by YaelDillies. |
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
riccardobrasca
left a comment
There was a problem hiding this comment.
I find the proof easier to read without too many have statement. On the other hand, can you add a little bit of math explanation?
I am not delegating it immediately since I suspect there is a diamond somewhere, let me investigate this.
|
I pushed a small modification to another file. The lines noncomputable section
open scoped Classicalcan now be removed, adding /-- **Polynomial ABC theorem.** -/
theorem Polynomial.abc {a b c : k[X]} (ha : a ≠ 0) (hb : b ≠ 0) (hc : c ≠ 0) (hab : IsCoprime a b)
(hbc : IsCoprime b c) (hca : IsCoprime c a) (hsum : a + b + c = 0) :
( natDegree a + 1 ≤ (radical (a * b * c)).natDegree ∧
natDegree b + 1 ≤ (radical (a * b * c)).natDegree ∧
natDegree c + 1 ≤ (radical (a * b * c)).natDegree ) ∨
derivative a = 0 ∧ derivative b = 0 ∧ derivative c = 0 := by
-- Utility assertions
have wbc := wronskian_eq_of_sum_zero hsum
set w := wronskian a b with wab
have wca : w = wronskian c a := by
rw [add_rotate] at hsum
simpa only [← wbc] using wronskian_eq_of_sum_zero hsum
have abc_dr_dvd_w : divRadical (a * b * c) ∣ w := by
have adr_dvd_w := divRadical_dvd_wronskian_left a b
have bdr_dvd_w := divRadical_dvd_wronskian_right a b
have cdr_dvd_w := divRadical_dvd_wronskian_right b c
rw [← wab] at adr_dvd_w bdr_dvd_w
rw [← wbc] at cdr_dvd_w
rw [divRadical_mul (hca.symm.mul_left hbc), divRadical_mul hab]
exact (hca.divRadical.symm.mul_left hbc.divRadical).mul_dvd
(hab.divRadical.mul_dvd adr_dvd_w bdr_dvd_w) cdr_dvd_w
by_cases hw : w = 0
· right
rw [hw] at wab wbc
cases' hab.wronskian_eq_zero_iff.mp wab.symm with ga gb
cases' hbc.wronskian_eq_zero_iff.mp wbc.symm with _ gc
exact ⟨ga, gb, gc⟩
· left
refine ⟨?_, ?_, ?_⟩
· rw [mul_rotate] at abc_dr_dvd_w ⊢
apply abc_subcall wbc <;> assumption
· rw [← mul_rotate] at abc_dr_dvd_w ⊢
apply abc_subcall wca <;> assumption
· apply abc_subcall wab <;> assumption |
I don't get what you mean by this. Are you saying that there is a diamond (I suppose the diamond problem of instance?) in this PR, or some other part of the mathlib that this PR depends on? |
Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com>
It's in another file, but it is fixed by my commit, you can forget about it. |
|
✌️ seewoo5 can now approve this pull request. To approve and merge a pull request, simply reply with |
|
Thank you all! bors r+ |
This file proves Mason-Stothers theorem (i.e. polynomial ABC). For coprime polynomials $a, b, c$ over a field (of arbitrary characteristic) with $a + b + c = 0$, we have $\max\{\deg(a), \deg(b), \deg(c)\} + 1 \le \deg(\mathrm{rad}(abc))$ or $a' = b' = c' = 0$.
Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com>
Co-authored-by: Jineon Baek <34874130+jcpaik@users.noreply.github.com>
Co-authored-by: Jineon Baek <jineon@umich.edu>
Co-authored-by: Jineon Baek <jcpaik@jcpaik-desktop.local>
Co-authored-by: Seewoo Lee <49933279+seewoo5@users.noreply.github.com>
|
Pull request successfully merged into master. Build succeeded: |
This file proves Mason-Stothers theorem (i.e. polynomial ABC). For coprime polynomials $a, b, c$ over a field (of arbitrary characteristic) with $a + b + c = 0$, we have $\max\{\deg(a), \deg(b), \deg(c)\} + 1 \le \deg(\mathrm{rad}(abc))$ or $a' = b' = c' = 0$.
Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com>
Co-authored-by: Jineon Baek <34874130+jcpaik@users.noreply.github.com>
Co-authored-by: Jineon Baek <jineon@umich.edu>
Co-authored-by: Jineon Baek <jcpaik@jcpaik-desktop.local>
Co-authored-by: Seewoo Lee <49933279+seewoo5@users.noreply.github.com>
Prove the polynomial FLT, using Mason-Stothers theorem #15706. More generally, prove non-solvability of Fermat-Catalan equation: $ux^p + vx^q + wz^r = 0$ where $u, v, w \in k^\times$ are units and $p, q, r \ge 3$ with $pq + qr + rp \le pqr$. Also derive the `IsCoprime b c` and `IsCoprime c a` assumptions from the `IsCoprime a b` and `a + b + c = 0` ones in `Polynomial.abc`. Co-authored-by: Jineon Baek <jineon@umich.edu> Co-authored-by: Jineon Baek <34874130+jcpaik@users.noreply.github.com> Co-authored-by: Seewoo Lee <seewoo5@gmail.com>
This file proves Mason-Stothers theorem (i.e. polynomial ABC). For coprime polynomials$a, b, c$ over a field (of arbitrary characteristic) with $a + b + c = 0$ , we have $\max{\deg(a), \deg(b), \deg(c)} + 1 \le \deg(\mathrm{rad}(abc))$ or $a' = b' = c' = 0$ .
divRadicalfor polynomials #18452IsCoprime.wronskian_eq_zero_iff#18483Almost last part of porting project of the formalization of polynomial ABC.
TODO: After #14720 is merged, add polynomial FLT as a corollary. It is already in here.
Related: #16060