🤖 AI Summary
Prior to this work, no formalization of the Mason–Stothers theorem—a polynomial analogue of the ABC conjecture—or its key diophantine consequences existed in Lean 4 or mathlib4.
Method: Following Snyder’s elementary proof, we developed a verified foundation of polynomial number theory in Lean 4, systematically comparing and back-porting results from Isabelle and Lean 3 formalizations.
Contribution/Results: We present the first complete formalization of the Mason–Stothers theorem and three core corollaries in Lean 4/mathlib4: unsolvability of the polynomial Fermat–Cartan equation, non-parametrizability of a specific elliptic curve, and Davenport’s theorem. All proofs are machine-checked, fully integrated into the mathlib4 main branch, and publicly available under an open-source license. This work fills a foundational gap in polynomial ABC-type inequality formalization within Lean 4 and substantially enhances the trustworthiness and reusability of mechanized reasoning for polynomial Diophantine problems.
📝 Abstract
The ABC conjecture implies many conjectures and theorems in number theory, including the celebrated Fermat's Last Theorem. Mason-Stothers Theorem is a function field analogue of the ABC conjecture that admits a much more elementary proof with many interesting consequences, including a polynomial version of Fermat's Last Theorem. While years of dedicated effort are expected for a full formalization of Fermat's Last Theorem, the simple proof of Mason-Stothers Theorem and its corollaries calls for an immediate formalization. We formalize an elementary proof of by Snyder in Lean 4, and also formalize many consequences of Mason-Stothers, including (i) non-solvability of Fermat-Cartan equations in polynomials, (ii) non-parametrizability of a certain elliptic curve, and (iii) Davenport's Theorem. We compare our work to existing formalizations of Mason-Stothers by Eberl in Isabelle and Wagemaker in Lean 3 respectively. Our formalization is based on the mathlib4 library of Lean 4, and is currently being ported back to mathlib4.