This paper elaborates on a rigorous endeavor to formalize significant concepts in analytic number theory—particularly the Riemann zeta function and Dirichlet L-functions—within the Lean theorem prover's Mathlib library. Authored by David Loeffler and Michael Stoll, the work aims to integrate these mathematical constructs into a formal framework, enabling their precise manipulation in automated theorem proving environments.
Mathematical Foundation
The Riemann zeta function, denoted as ζ(s), is a keystone of analytic number theory, deeply intertwined with the distribution of prime numbers. The function, uniquely holomorphic except at s=1, is introduced alongside its well-established properties, such as Euler's product formula ζ(s)=∏p prime(1−p−s)−1 and the functional equation ζ(s)=2sπs−1sin(2πs)Γ(1−s)ζ(1−s). Building on this foundation, the authors extend their formalization to Dirichlet L-functions, L(x,s), associated with Dirichlet characters.
In their contribution to Mathlib, the project formalizes several important properties and results related to zeta and L-functions, including:
- Definitions and proofs of key properties, such as the non-vanishing of ζ(s) for Re(s)≥1 and Dirichlet's theorem on primes in arithmetic progressions.
- Formal statements of conjectures like the Riemann Hypothesis.
The formalizations involve defining and verifying properties within the Lean language, ensuring their utility for further automated proofs and explorations in number theory.
Implementation of L-Series and Fourier Analysis
The implementation of L-series required significant changes to Mathlib to accommodate coercion issues inherent in arithmetic functions. By designing a framework where functions map positive natural numbers to complex numbers, the authors establish a coherent setup for handling L-series without code duplication issues.
Fourier analysis plays a crucial role in formalizing zeta functions, especially via the Fourier transform and Poisson Summation Formula. Such tools enable the authors to derive the meromorphic continuation and functional equations for these important number-theoretic functions.
Beyond just zeta and L-functions, the paper presents an axiomatic system for extending these methods to modular forms. The authors introduce the concept of FE-pairs to generalize their results, setting the foundation for formalizing properties of L-functions associated with higher-weight modular forms.
Challenges and Pitfalls
The authors discuss pitfalls in the process of "totalizing" functions, notably addressing issues in the formalization of the Riemann Hypothesis where junk values might lead to trivializing a conjecture. This aspect emphasizes the need for precision in foundational setups to prevent logical errors in automated theorem proving.
Conclusion and Future Work
This paper contributes significantly to the intersection of formal methods and number theory. By formalizing critical elements in Mathlib, it lays the groundwork for future advances in verified mathematical computation and theorem proving. Planned extensions include proving a quantitative version of the Prime Number Theorem, further demonstrating the formal system's potential. This work represents a substantive move towards automated reasoning in number theory, promising enhanced computational techniques and deeper insights into classical problems.