Arithmetic in Metamath, Case Study: Bertrand's Postulate
Mario Carneiro

TL;DR
This paper develops a system for performing arithmetic within Metamath, enabling formal proofs involving large numbers, demonstrated through the formal proof of Bertrand's postulate and discussing implications for large-scale mechanized proofs.
Contribution
It introduces a method and algorithm for arithmetic in Metamath, facilitating formal proofs with large numbers, exemplified by the proof of Bertrand's postulate.
Findings
Successfully formalized Bertrand's postulate in Metamath
Implemented arithmetic operations for large numbers in Mathematica
Discussed feasibility of large proofs like Hales' Kepler conjecture
Abstract
Unlike some other formal systems, the proof system Metamath has no built-in concept of "decimal number" in the sense that arbitrary digit strings are not recognized by the system without prior definition. We present a system of theorems and definitions and an algorithm to apply these as basic operations to perform arithmetic calculations with a number of steps proportional to an arbitrary-precision arithmetic calculation. We consider as case study the formal proof of Bertrand's postulate, which required the calculation of many small primes. Using a Mathematica implementation, we were able to complete the first formal proof in Metamath using numbers larger than 10. Applications to the mechanization of Metamath proofs are discussed, and a heuristic argument for the feasability of large proofs such as Tom Hales' proof of the Kepler conjecture is presented.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
