- MetaMath
Metamath is based on a single substitution rule. In Metamath, each theorem is proved sequentially. The original theorem to be proved is first formalized as a goal. At each step of the proof process, a goal or subgoal is converted into other subgoals by a proof step which is formed by the simple substitution rule. Sometimes more than one subgoal is decomposed from a single goal, so the proof path is often tree-structured. When all of the subgoal reaches the very bottom of the metamath formal system (axioms of logic and set theory—the starting point for all of mathematics), the theorem is proved. - Lean
- Isabelle
A proof step in proof assistant can be formalized as:
goal -> tatic -> [subgoals]
Here, the goal can be a theorem or just an intermediate step in the proof process. The tatic is a step/mechanism that, with the help of proof assistant, the current goal will be decomposed into subgoal(s). If there is no subgoal to be generated, then the current goal is successfully proven (In Metamath, a tatic is composed of a theorem and its correspoding substitution).
For a theorem, it self will be considered as a root goal in the proof assistant, our ultimate destination is to repeat the above proof step until all decomposed subgoals to be proven.
For Automatic Theorem Proving (ATP), we need to achieve an AI to automatically generate tatics for each given goal, and design an efficient search algorithm to quickly reach the end of the proof.
- Generative Language Modeling For Automated Theorem Proving [paper]
- miniF2F: A Cross-System Benchmark for Formal Olympiad-level Mathematics [paper]
- Proof Artifact Co-Training For Theorem Proving With Language Models [paper]
- Formal Mathematics Statement Curriculum Learning [paper]
- HyperTree Proof Search for Neural Theorem Proving [paper]
- Draft, Sketch, and Prove: Guiding Formal Theorem Provers with Informal Proofs [paper]
- A Course of Dependent Type Theory [link]