metamath / set.mm

Metamath source file for logic and set theory
Other
255 stars 89 forks source link

Build Status

Metamath set.mm repository

This is a collection of rigorously verified Metamath databases that specify mathematical axioms and formal proofs of theorems derived from those axioms.

What is Metamath?

Metamath is a computer language and associated computer program for archiving, verifying, and studying mathematical proofs.

Unlike some other systems, Metamath does not build a particular set of axioms into the system. Instead, the Metamath language is simple and robust, with an almost total absence of hard-wired syntax. In Metamath you express the axioms, theorems, and their proofs in a database (set of text files). To prove a theorem, every proof step must be proven using an axiom or a previously proven theorem; as a result, nothing is hidden. We believe Metamath provides about the simplest possible framework that allows essentially all of mathematics to be expressed with absolute rigor.

The resulting databases provide human-readable axioms and theorem statements. We compress proofs in this repository, so their proofs take relatively little space, but tools can easily decompress them to provide a human-readable sequence of every proof step. Metamath verification is incredibly fast; the largest database available can be re-verified within seconds by some verifiers.

For more information see the Metamath Home Page, the Metamath Proof Explorer Home Page, the Metamath book, or the video "Metamath Proof Explorer: A Modern Principia Mathematica".

What databases are included in this collection?

The databases included and links to their generated displays, in (approximate) decreasing size, are:

Feel free to also look at this list of other Metamath databases.

How are the databases verified?

We work to provide extremely high confidence that the proofs are completely correct in these databases, especially for the set.mm and iset.mm databases (the primary databases under active development).

Changes ("commits") to any database are first automatically verified before they are accepted, using GitHub actions. Every change to set.mm and iset.mm is verified by many independent verifiers, including metamath-exe, which also checks markup, and mmj2, which checks definition soundness. All other databases' proofs are verified by one verifier (metamath-exe) in every commit. For more information, see VERIFIERS.md.

How can I contribute? How are contributions evaluated?

We're a friendly community, and we would love to have more collaborators!

See CONTRIBUTING.md for more information on how to create a contribution, as well as how contributions are evaluated to decide if they will be merged in. That file also has some ways to contact us if you'd like help contributing.

Credits and a memorium

Our sincere thanks to everyone who has contributed to this work.

This entire collection is dedicated to the memory of Norman "Norm" Dwight Megill, Ph.D. (1950-2021), creator of the Metamath system and cultivator of an international community of people with the shared dream of digitizing and formally verifying mathematics. His ideas and design have been influential in formal mathematics around the world. He is missed.