Formal proof-checking has long been recognized as an interesting application of computers. It has often been claimed that significant proofs in mathematics cannot be checked using an automatic proof-checker, and that formal proofs lack the intuitive plausibility and insight that informal proofs possess. We argue against these claims by presenting machine-checked versions of some landmark proofs in metamathematics, such as those of the tautology theorem, Godel's incompleteness theorem, and the Church-Rosser theorem. These proofs were checked using the Boyer-Moore theorem power.
The tautology theorem and the incompleteness theorem are proved by first defining a proof-checker for the formal theory Z2 in the Boyer-Moore logic. The theory Z2 consists of the rules and axioms for Shoenfield's first-order logic with the axioms of a theory of hereditarily finite sets due to Cohen. A tautology-checker is defined for Z2 formulas and is shown to be correct with respect to the truth-table definition of a tautology. Every tautology is shown to have a proof by defining a Lisp function which constructs such a proof. The tautology theorem is then used as a sound derived inference rule to demonstrate that any specific tautology is provable in Z2, without actually constructing the corresponding formal proof.
To prove Godel's incompleteness theorem, a Lisp interpreter is defined in Lisp. The interpreter is shown to be representable in Z2 under an encoding of Lisp data-structures as sets. Metatheoretic functions such as the Z2 proof-checker are shown to be computable by means of the Lisp interpreter. The representability of the metatheory of Z2 in Z2 permits the construction of an undecidable sentence. If the undecidable sentence is either provable or disprovable, then it is shown to be both provable and disprovable. Z2 is therefore either incomplete or inconsistent.
The mechanical proof of the Church-Rosser theorem is carried out by formalizing the syntax of lambda calculus in the Boyer-Moore logic. The theorem asserts that if the term X is reduced to Y in one way, and Z in another, then Y and Z can both be reduced to a common W. The mechanical proof involves constructing the term W and the reductions from Y and Z to W. This proof was actually carried out by formally mapping the problem to a formalization of lambda calculus which uses the de Bruijn representation. A version of the Tait/Martin-Lof proof of the Church-Rosser theorem is then carried out for this representation.
Cited By
- Schlichtkrull A (2018). Formalization of the Resolution Calculus for First-Order Logic, Journal of Automated Reasoning, 61:1-4, (455-484), Online publication date: 1-Jun-2018.
- Bundy A, Giunchiglia F, Villafiorita A and Walsh T (1997). Abstract Proof Checking, Journal of Automated Reasoning, 19:3, (319-346), Online publication date: 1-Dec-1997.
- Humphrey S and Krovetz B (1988). Selected AI-related dissertations, ACM SIGART Bulletin:104, (26), Online publication date: 1-Apr-1988.
Recommendations
Theorem Proving Modulo
AbstractDeduction modulo is a way to remove computational arguments from proofs by reasoning modulo a congruence on propositions. Such a technique, issued from automated theorem proving, is of general interest because it permits one to separate ...
Proof Nets for Herbrand’s Theorem
This article explores Herbrand’s theorem as the source of a natural notion of abstract proof object for classical logic, embodying the “essence” of a sequent calculus proof. We see how to view a calculus of abstract Herbrand proofs (Herbrand nets) as an ...