A formal proof of Hensel's lemma over the p-adic integers

The field of p-adic numbers ℚp and the ring of p-adic integers ℤp are essential constructions of modern number theory. Hensel’s lemma, described by Gouvêa as the “most important algebraic property of the p-adic numbers,” shows the existence of roots of polynomials over ℤp provided an initial seed point. The theorem can be proved for the p-adics with significantly weaker hypotheses than for general rings. We construct ℚp and ℤp in the Lean proof assistant, with various associated algebraic properties, and formally prove a strong form of Hensel’s lemma. The proof lies at the intersection of algebraic and analytic reasoning and demonstrates how the Lean mathematical library handles such a heterogeneous topic.

[1]  R. Nigel Horspool,et al.  A New Representation of the Rational Numbers for Fast Easy Arithmetic , 1979, SIAM J. Comput..

[2]  Thierry Coquand,et al.  Inductively defined types , 1988, Conference on Computer Logic.

[3]  Johannes Hölzl,et al.  Type Classes and Filters for Mathematical Analysis in Isabelle/HOL , 2013, ITP.

[4]  Tobias Nipkow,et al.  A FORMAL PROOF OF THE KEPLER CONJECTURE , 2015, Forum of Mathematics, Pi.

[5]  Georges Gonthier,et al.  Formal Proof—The Four- Color Theorem , 2008 .

[6]  John Harrison,et al.  Formalizing an Analytic Proof of the Prime Number Theorem , 2009, Journal of Automated Reasoning.

[7]  Christer Lech,et al.  A note on recurring series , 1953 .

[8]  Neal Koblitz,et al.  p-adic numbers , 1977 .

[9]  B. Poonen THE METHOD OF CHABAUTY AND COLEMAN WILLIAM MCCALLUM AND , 2017 .

[10]  Adam Naumowicz,et al.  The Role of the Mizar Mathematical Library for Interactive Proof Development in Mizar , 2017, Journal of Automated Reasoning.

[11]  K. Mahler,et al.  An Interpolation Series for Continuous Functions of a p-adic Variable. , 1958 .

[12]  Jeremy Avigad,et al.  A formally verified proof of the prime number theorem , 2005, TOCL.

[13]  Bas Spitters,et al.  Type classes for mathematics in type theory† , 2011, Mathematical Structures in Computer Science.

[14]  Jean-Pierre Serre A Course in Arithmetic , 1973 .

[15]  Jeremy Avigad,et al.  A metaprogramming framework for formal verification , 2017, Proc. ACM Program. Lang..

[16]  Ioan Mackenzie James,et al.  Topologies and uniformities , 1999 .

[17]  Benjamin Grégoire,et al.  Proving Equalities in a Commutative Ring Done Right in Coq , 2005, TPHOLs.

[18]  Alexander Ostrowski Über einige Lösungen der Funktionalgleichung ψ(x)·ψ(x)=ψ(xy) , 1916 .

[19]  Pierre-Yves Strub,et al.  A Formal Library for Elliptic Curves in the Coq Proof Assistant , 2014, ITP.

[20]  Ulrik Buchholtz,et al.  Homotopy Type Theory in Lean , 2017, ITP.

[21]  Manuel Eberl,et al.  Dirichlet L-Functions and Dirichlet's Theorem , 2017, Arch. Formal Proofs.

[22]  Pierre-Yves Strub,et al.  Formal proofs of transcendence for e and pi as an application of multivariate and symmetric polynomials , 2015, CPP.

[23]  Vladimir Voevodsky,et al.  A univalent formalization of the p-adic numbers , 2015, Mathematical Structures in Computer Science.

[24]  S. Siksek,et al.  Perfect powers expressible as sums of two fifth or seventh powers , 2013, 1309.4030.

[25]  Cody Roux,et al.  A Heuristic Prover for Real Inequalities , 2014, Journal of Automated Reasoning.

[26]  Jeremy Avigad,et al.  A Machine-Checked Proof of the Odd Order Theorem , 2013, ITP.

[27]  Mario M. Carneiro Formalization of the prime number theorem and Dirichlet's theorem , 2016, FM4M/MathUI/ThEdu/DP/WIP@CIKM.

[28]  Jeremy Avigad,et al.  The Lean Theorem Prover , 2015 .

[29]  Laurent Théry,et al.  Formally Verified Certificate Checkers for Hardest-to-Round Computation , 2014, Journal of Automated Reasoning.

[30]  Philip Wadler,et al.  How to make ad-hoc polymorphism less ad hoc , 1989, POPL '89.

[31]  Robert Y. Lewis,et al.  An Extensible Ad Hoc Interface between Lean and Mathematica , 2017, PxTP.