MetamathHome Metamath 100

Created by David A. Wheeler

"Formalizing 100 Theorems" by Freek Wiedijk lists 100 mathematical theorems and the various systems that have formalized a nontrivial number of them. This list is discussed in "Formal Proof - Getting Started" (Freek Wiedijk, Notices of the AMS, Volume 55, Number 11, December 2008). Rightly or wrongly, this list is used by others to judge proof systems. Wiedijk's "getting started" picks as its primary examples HOL Light and Mizar, which at the time had the largest number of proofs. Similarly, "Case Studies in Proof Checking" by Robert C. Kam says, "Judging by Dr. Wiedijk's Formalizing 100 Theorems list, which gives an overview of the headway various proof systems have made in mathematics, Coq and Mizar are two of the most successful systems in use today (Wiedijk, 2007)".

Currently there are 74 proofs proven by Metamath from this list of 100. As of 2020-04-05 this number of proofs is more than Coq (70), Mizar (69), ProofPower (43), Lean (29), PVS (22), nqthm/ACL2 (18), and NuPRL/MetaPRL (8); it is short of only Isabelle (83) and HOL Light (86). This is very good, especially considering that there had been no significant effort until 2014 to prove theorems from this list of 100 using Metamath. In this page, you can see the completed Metamath proofs and the Metamath proofs to be done from this list of metamath proofs.

Like all Metamath proofs, all reasoning is done directly in the proof itself rather than by algorithms embedded in the verification program. As a result, the proofs are completely transparent with nothing hidden from the user, and every step can be followed through a hyperlink to its corresponding proof or definition. Therefore, the Metamath Proof Explorer (MPE aka set.mm) database is the largest database of formally-verified mathematics that records every step of a proof by directly referring to only an axiom or previous proof (many competing databases only record tactics that are intended to rediscover the proof, instead of recording the specific proven steps actually used in the proof).

The theorems in MPE are routinely verified by 5 different programs written in 5 different programming languages by more than 5 different people. These are the original metamath (a C verifier by Norm Megill), mmj2 (a Java verifier by Mel O'Cat and Mario Carneiro), smetamath-rs (a high-speed Rust verifier by Stefan O'Rear), checkmm (a C++ verifier by Eric Schmidt), and mmverify (a Python verifier by Raph Levien). This checking by multiple independent verifiers in different languages provides very strong justification for believing that the proofs are correct.

What's more, all of the proofs listed here are current and verified with the current versions of Metamath tools. This is not the case with some other systems, where older proofs have not always been kept synchronized with the current system and thus have become essentially lost.

Since the kernel of Metamath is extremely small and rarely changes, the underlying Metamath language (as implemented by over a dozen independently-written verifiers) is very stable over time and can be verified very rapidly. The entire content of set.mm set theory database can be verified in less than 5 sec with the metamath program and in 0.7 sec with a recent version of Stefan O'Rear's smm3 verifier that utilizes multiple CPU cores. As of June 2016, altogether the theorems listed here ultimately make use of 12151 of the 28366 theorems in set.mm for their full derivation from ZFC axioms. (This doesn't mean that 12151 theorems are dedicated to the theorems on this list. Most are library-type theorems shared by many other theorems; for example, many of the theorems on this list depend on the complex number construction, which itself involves 3014 theorems to derive starting from the ZFC axioms.)

Some graphs showing Metamath 100 progress are available on another page (click the Authors tab for a pie chart). You can also see a Gource Visualization of the growth of the Metamath Proof Explorer (MPE / set.mm) database of proofs.

Here is the list of the Metamath proofs that are available from this list of 100, along with credit to the individual(s) who created the Metamath formalization. Almost all of these proofs are from the Metamath Proof Explorer, aka database set.mm, which is based on classical logic. However, there are some proofs available in the Intuitionistic Logic Explorer, aka database iset.mm, which uses intuitionistic logic instead. Please let us know about missing entries via github issue or the Metamath mailing list.

Note for potential contributors: The development tools most people use, in addition to a good text editor, are mmj2 (which has an introductory video) and the metamath program (which has a tutorial in Chapter 2 of the Metamath book). Most contributors keep their work in progress in private sections of set.mm called "mathboxes" to prevent interfering with others' work. Mathboxes can be updated via a GitHub pull request and will later be moved to the main part of set.mm as appropriate. Requests for help on the Metamath mailing list can help things go smoother. See the Most Recent Proofs page for recent announcements.

• 1. The Irrationality of the Square Root of 2 (sqrt2irr, by Norman Megill, 2001-08-20). The intuitionistic logic explorer (iset.mm) database also includes sqrt2irrap (by Jim Kingdon, 2022-02-01).
• 2. The Fundamental Theorem of Algebra (fta, by Mario Carneiro, 2014-09-15)
• 3. The Denumerability of the Rational Numbers (qnnen, by Norman Megill, 2004-07-31, revised by Mario Carneiro, 2013-03-03). The intuitionistic logic explorer (iset.mm) database also includes qnnen (by Jim Kingdon, 2023-08-11)
• 4. Pythagorean Theorem (pythi, by Norman Megill, 2008-04-17)
• 5. The Prime Number Theorem (pnt, by Mario Carneiro, 2016-06-01) - also see pnt2, pnt3
• 9. The Area of a Circle (areacirc, by Brendan Leahy, 2017-08-31)
• 10. Euler's Generalization of Fermat's Little Theorem (eulerth, by Mario Carneiro, 2014-02-28). The intuitionistic logic explorer (iset.mm) database also includes eulerth (by Jim Kingdon, 2024-09-07)
• 11. The Infinitude of Primes (infpn2, by Norman Megill, 2005-05-05)
• 14. Euler's Summation of 1 + (1/2)^2 + (1/3)^2 + .... (basel, by Mario Carneiro, 2014-07-30)
• 15. The Fundamental Theorem of Integral Calculus (ftc1 and ftc2, by Mario Carneiro, 2014-09-03)
• 17. De Moivre's Theorem (demoivreALT, by Steve Rodriguez, 2006-11-10). See also the later proof demoivre (by Norman Megill, 2007-07-24), which is shorter and more general but uses the exponential function. The intuitionistic logic explorer (iset.mm) database includes both proofs as demoivreALT and demoivre (added 2023-01-04).
• 18. Liouville's Theorem and the Construction of Transcendental Numbers (aaliou, by Stefan O'Rear, 2014-11-22)
• 19. Four Squares Theorem (4sq, by Mario Carneiro, 2014-07-16)
• 20. All Primes (1 mod 4) Equal the Sum of Two Squares (2sq, by Mario Carneiro, 2015-06-20)
• 22. The Non-Denumerability of the Continuum (ruc, by Norman Megill, 2004-08-13)
• 23. Formula for Pythagorean Triples (pythagtrip, by Scott Fenton, 2014-04-19)
• 25. Schroeder-Bernstein Theorem (sbth, by Norman Megill, 1998-06-08). The intuitionistic logic explorer (iset.mm) database shows that Schroeder-Bernstein is equivalent to excluded middle, resolving this problem in the negative, at exmidsbth (by Jim Kingdon, 2022-08-13).
• 26. Leibniz' Series for Pi (leibpi, by Mario Carneiro, 2015-04-16)
• 27. Sum of the Angles of a Triangle (ang180, by Mario Carneiro, 2014-09-24)
• 30. The Ballot Problem (aka Bertrand's ballot problem) (ballotth, by Thierry Arnoux, contributed 2016-12-07)
• 31. Ramsey's Theorem (ramsey, by Mario Carneiro, 2015-04-23)
• 34. Divergence of the Harmonic Series (harmonic, by Mario Carneiro, 2014-07-11)
• 35. Taylor's Theorem (taylth, by Mario Carneiro, 2017-01-01)
• 37. The Solution of a Cubic (cubic, by Mario Carneiro, 2015-04-26)
• 38. Arithmetic Mean/Geometric Mean (amgm, by Mario Carneiro, 2015-06-21)
• 39. Solutions to Pell's Equation (rmxycomplete, by Stefan O'Rear, 2014-11-22)
• 42. Sum of the Reciprocals of the Triangular Numbers (trirecip, by Scott Fenton, 2014-05-02). The intuitionistic logic explorer (iset.mm) database includes this proof as trirecip (added 2022-10-22).
• 44. The Binomial Theorem (binom, Norman Megill, 2005-12-07). The intuitionistic logic explorer (iset.mm) database includes this proof as binom (added 2022-10-15).
• 45. The Partition Theorem (by Euler) (eulerpart, Thierry Arnoux, 2018-08-30)
• 46. The Solution of the General Quartic Equation (quart, by Mario Carneiro, 2015-05-06)
• 48. Dirichlet's Theorem (dirith, by Mario Carneiro, 2016-05-12)
• 49. The Cayley-Hamilton Theorem (cayleyhamilton, by Alexander van der Vekens, 2019-11-25)
• 51. Wilson's Theorem (wilth, by Mario Carneiro, 2015-01-28)
• 52. The Number of Subsets of a Set (pw2en, by Norman Megill, 2004-01-29)
• 54. The Konigsberg Bridge Problem (konigsberg, by Mario Carneiro, 2015-04-16)
• 55. Product of Segments of Chords (chordthm by David Moews, 2017-02-28)
• 57. Heron's Formula (heron by Mario Carneiro based on work by Jon Pennant and Thierry Arnoux, 2019-03-10)
• 58. Formula for the Number of Combinations (hashbc, by Mario Carneiro, 2014-07-13)
• 60. Bezout's Theorem (bezout, by Mario Carneiro, 2014-02-22). The intuitionistic logic explorer (iset.mm) database also includes bezout (by Mario Carneiro and Jim Kingdon, 2022-01-09).
• 61. Theorem of Ceva (cevath, by Saveliy Skresanov, 2017-09-24)
• 63. Cantor's Theorem (canth2, by Norman Megill, 1994-08-07)
• 64. L'Hôpital's Rule (lhop, by Mario Carneiro, 2016-12-30)
• 65. Isosceles Triangle Theorem (isosctr, by Saveliy Skresanov, 2017-01-01)
• 66. Sum of a Geometric Series (geoser, by Norman Megill, 2006-05-09). The intuitionistic logic explorer (iset.mm) database includes this proof as geoserap (added 2022-10-24).
• 67. e is Transcendental (etransc, by Glauco Siliprandi, 2020-04-05)
• 68. Sum of an arithmetic series (arisum, by Frédéric Liné, 2006-11-16) - arisum is not fully general, but it would be straightforward to enhance. The intuitionistic logic explorer (iset.mm) database includes this proof as arisum (added 2022-10-22).
• 69. Greatest Common Divisor Algorithm (eucalg, by Paul Chapman, 2011-03-31). The intuitionistic logic explorer (iset.mm) database includes this proof as eucalg (by Jim Kingdon, 2022-01-11).
• 70. The Perfect Number Theorem (perfect, by Mario Carneiro, 2016-05-17)
• 71. Order of a Subgroup (lagsubg, by Mario Carneiro, 2014-07-11) - also see lagsubg2
• 72. Sylow's Theorem (sylow1 and sylow2 and sylow2b and sylow3, by Mario Carneiro, 2015-01-19)
• 73. Ascending or Descending Sequences (erdsze and erdsze2, by Mario Carneiro, 2015-01-28)
• 74. The Principle of Mathematical Induction (finds, by Norman Megill, 1995-04-14). There are many versions of Mathematical Induction in set.mm. Theorem findes (by Raph Levien, 2003-07-09) is a compact and more traditional-looking version with explicit substitution. Another alternative is nnind (by Norman Megill, 1997-01-10), which uses natural numbers instead of ordinal numbers and might be less obscure for non-mathematicians. The intuitionistic logic explorer (iset.mm) database also includes finds (adapted from Norman Megill's set.mm proof by Jim Kingdon, 2018-12-01) proved from IZF (intuitionistic Zermelo--Fraenkel) and bj-findes (by Benoit Jubin, 2019-11-21) proved from CZF (constructive Zermelo--Fraenkel).
• 75. The Mean Value Theorem (mvth, by Mario Carneiro, 2014-09-14)
• 76. Fourier Series (fourier, by Glauco Siliprandi, 2019-12-11)
• 77. Sum of kth powers (fsumkthpow, by Scott Fenton, 2014-05-16)
• 78. The Cauchy-Schwarz Inequality (sii, by Norman Megill, 2008-01-12) - note that this is also called "Schwarz" by some authors and "Bunjakovaskij-Cauchy-Schwarz" by others.
• 79. The Intermediate Value Theorem (ivth, by Paul Chapman, 2008-01-22). The intuitionistic logic explorer (iset.mm) database also includes ivthinc which is the theorem for a strictly monotonic function (by Jim Kingdon, 2024-02-20).
• 80. Fundamental Theorem of Arithmetic (1arith2, by Paul Chapman, 2012-11-17)
• 81. Erdős's proof of the divergence of the inverse prime series (prmrec, by Mario Carneiro, 2014-08-10)
• 83. The Friendship Theorem (friendship, by Alexander van der Vekens, 2018-10-09)
• 85. Divisibility by 3 Rule (3dvds, by Mario Carneiro, 2014-07-14)
• 86. Lebesgue Measure and Integration (itgcl, by Mario Carneiro, 2014-06-29)
• 87. Desargues's Theorem (dath, by Norman Megill, 2012-08-20)
• 88. Derangements Formula (derangfmla and subfaclim, by Mario Carneiro, 2015-01-28)
• 89. The Factor and Remainder Theorems (facth and plyrem, by Mario Carneiro, 2014-07-26)
• 90. Stirling's Formula (stirling by Glauco Siliprandi, 2017-06-29)
• 91. The Triangle Inequality (abstrii, by Norman Megill, 1999-10-02). The intuitionistic logic explorer (iset.mm) database includes this proof as abstrii (added 2021-08-13).
• 93. The Birthday Problem (birthday, by Mario Carneiro, 2015-04-17)
• 94. The Law of Cosines (lawcos, by David A. Wheeler, 2015-06-12)
• 95. Ptolemy's Theorem (ptolemy, by David A. Wheeler, 2015-05-31). The intuitionistic logic explorer (iset.mm) database includes this proof as ptolemy (added 2024-03-12).
• 96. Principle of Inclusion/Exclusion (incexc, by Mario Carneiro, 2017-08-07)
• 97. Cramer's Rule (cramer, by Alexander van der Vekens, 2019-02-21, which built on the key work on determinants by Stefan O'Rear)
• 98. Bertrand's Postulate (bpos, by Mario Carneiro, 2014-03-15)

The page "Formalizing 100 Theorems" also contains a supplementary list of "obvious omissions" from the 100. Of those, the following have been formalized:

• Every vector space is free (lbsex, by Mario Carneiro, 2014-06-25)
• Heine-Borel Theorem (heibor, by Jeff Madsen, 2009-09-02) - also see cnheibor
• Hilbert Basis Theorem (hbt, by Stefan O'Rear, 2015-04-04)
• Stone-Weierstrass Theorem (stowei, by Glauco Siliprandi, 2017-04-20)

These are all the theorems from the list of 100 that have not been formalized in Metamath. Please move these to the above list!

• 6. Gödel's Incompleteness Theorem
• 8. The Impossibility of Trisecting the Angle and Doubling the Cube
• 12. The Independence of the Parallel Postulate
• 13. Polyhedron Formula
• 16. Insolvability of General Higher Degree Equations
• 21. Green's Theorem
• 24. The Undecidability of the Continuum Hypothesis
• 28. Pascal's Hexagon Theorem
• 29. Feuerbach's Theorem
• 32. The Four Color Problem
• 33. Fermat's Last Theorem
• 36. Brouwer Fixed Point Theorem
• 40. Minkowski's Fundamental Theorem
• 41. Puiseux's Theorem
• 43. The Isoperimetric Theorem
• 47. The Central Limit Theorem
• 50. The Number of Platonic Solids
• 53. π is Transcendental
• 56. The Hermite-Lindemann Transcendence Theorem
• 59. The Laws of Large Numbers
• 62. Fair Games Theorem
• 82. Dissection of Cubes (J.E. Littlewood's "elegant" proof)
• 84. Morley's Theorem
• 92. Pick's Theorem
• 99. Buffon Needle Problem
• 100. Descartes Rule of Signs

You can see other proofs done with Metamath and for traditional mathematics on the Metamath Proof Explorer Home Page. Note that there are pages similar to this one for other tools, such as these pages on HOL and Mizar.

This metamath list was originally developed by David A. Wheeler and Norman Megill. If you add new theorems to the list, please tell Freek Wiedijk (freek at cs dot ru dot nl)