From Surf Wiki (app.surf) — the open knowledge base
Automated theorem proving
Subfield of automated reasoning and mathematical logic
Subfield of automated reasoning and mathematical logic
Automated theorem proving (also known as ATP or automated deduction) is a subfield of automated reasoning and mathematical logic dealing with proving mathematical theorems by computer programs. Automated reasoning over mathematical proof was a major motivating factor for the development of computer science.
Logical foundations
While the roots of formalized logic go back to Aristotle, the end of the 19th and early 20th centuries saw the development of modern logic and formalized mathematics. Frege's Begriffsschrift (1879) introduced both a complete propositional calculus and what is essentially modern predicate logic. His Foundations of Arithmetic, published in 1884, expressed (parts of) mathematics in formal logic. This approach was continued by Russell and Whitehead in their influential Principia Mathematica, first published 1910–1913, and with a revised second edition in 1927. Russell and Whitehead thought they could derive all mathematical truth using axioms and inference rules of formal logic, in principle opening up the process to automation. In 1920, Thoralf Skolem simplified a previous result by Leopold Löwenheim, leading to the Löwenheim–Skolem theorem and, in 1930, to the notion of a Herbrand universe and a Herbrand interpretation that allowed (un)satisfiability of first-order formulas (and hence the validity of a theorem) to be reduced to (potentially infinitely many) propositional satisfiability problems.
In 1929, Mojżesz Presburger showed that the first-order theory of the natural numbers with addition and equality (now called Presburger arithmetic in his honor) is decidable and gave an algorithm that could determine if a given sentence in the language was true or false.{{Cite book | author-link = Martin Davis (mathematician) | chapter-url = http://cs.nyu.edu/cs/faculty/davism/early.ps | access-date = 2012-09-08 | archive-date = 2012-07-28 | archive-url = https://web.archive.org/web/20120728092819/http://www.cs.nyu.edu/cs/faculty/davism/early.ps | url-status = dead
However, shortly after this positive result, Kurt Gödel published On Formally Undecidable Propositions of Principia Mathematica and Related Systems (1931), showing that in any sufficiently strong axiomatic system, there are true statements that cannot be proved in the system. This topic was further developed in the 1930s by Alonzo Church and Alan Turing, who on the one hand gave two independent but equivalent definitions of computability, and on the other gave concrete examples of undecidable questions.
First implementations
In 1954, Martin Davis programmed Presburger's algorithm for a JOHNNIAC vacuum-tube computer at the Institute for Advanced Study in Princeton, New Jersey. According to Davis, "Its great triumph was to prove that the sum of two even numbers is even". More ambitious was the Logic Theorist in 1956, a deduction system for the propositional logic of the Principia Mathematica, developed by Allen Newell, Herbert A. Simon and J. C. Shaw. Also running on a JOHNNIAC, the Logic Theorist constructed proofs from a small set of propositional axioms and three deduction rules: modus ponens, (propositional) variable substitution, and the replacement of formulas by their definition. The system used heuristic guidance, and managed to prove 38 of the first 52 theorems of the Principia.
The "heuristic" approach of the Logic Theorist tried to emulate human mathematicians, and could not guarantee that a proof could be found for every valid theorem even in principle. In contrast, other, more systematic algorithms achieved, at least theoretically, completeness for first-order logic. Initial approaches relied on the results of Herbrand and Skolem to convert a first-order formula into successively larger sets of propositional formulae by instantiating variables with terms from the Herbrand universe. The propositional formulas could then be checked for unsatisfiability using a number of methods. Gilmore's program used conversion to disjunctive normal form, a form in which the satisfiability of a formula is obvious.
Decidability of the problem
Depending on the underlying logic, the problem of deciding the validity of a formula varies from trivial to impossible. For the common case of propositional logic, the problem is decidable but co-NP-complete, and hence only exponential-time algorithms are believed to exist for general proof tasks. For a first-order predicate calculus, Gödel's completeness theorem states that the theorems (provable statements) are exactly the semantically valid well-formed formulas, so the valid formulas are computably enumerable: given unbounded resources, any valid formula can eventually be proven. However, invalid formulas (those that are not entailed by a given theory), cannot always be recognized.
The above applies to first-order theories, such as Peano arithmetic. However, for a specific model that may be described by a first-order theory, some statements may be true but undecidable in the theory used to describe the model. For example, by Gödel's incompleteness theorem, we know that any consistent theory whose axioms are true for the natural numbers cannot prove all first-order statements true for the natural numbers, even if the list of axioms is allowed to be infinite enumerable. It follows that an automated theorem prover will fail to terminate while searching for a proof precisely when the statement being investigated is undecidable in the theory being used, even if it is true in the model of interest. Despite this theoretical limit, in practice, theorem provers can solve many hard problems, even in models that are not fully described by any first-order theory (such as the integers).
Applications
Commercial use of automated theorem proving is mostly concentrated in integrated circuit design and verification. Since the Pentium FDIV bug, the complicated floating point units of modern microprocessors have been designed with extra scrutiny. AMD, Intel and others use automated theorem proving to verify that division and other operations are correctly implemented in their processors.
Other uses of theorem provers include program synthesis, constructing programs that satisfy a formal specification. Automated theorem provers have been integrated with proof assistants, including Isabelle/HOL.
Applications of theorem provers are also found in natural language processing and formal semantics, where they are used to analyze discourse representations.
First-order theorem proving
In the late 1960s agencies funding research in automated deduction began to emphasize the need for practical applications. One of the first fruitful areas was that of program verification whereby first-order theorem provers were applied to the problem of verifying the correctness of computer programs in languages such as Pascal, Ada, etc. Notable among early program verification systems was the Stanford Pascal Verifier developed by David Luckham at Stanford University. This was based on the Stanford Resolution Prover also developed at Stanford using John Alan Robinson's resolution principle. This was the first automated deduction system to demonstrate an ability to solve mathematical problems that were announced in the Notices of the American Mathematical Society before solutions were formally published.
First-order theorem proving is one of the most mature subfields of automated theorem proving. The logic is expressive enough to allow the specification of arbitrary problems, often in a reasonably natural and intuitive way. On the other hand, it is still semi-decidable, and a number of sound and complete calculi have been developed, enabling fully automated systems. More expressive logics, such as higher-order logics, allow the convenient expression of a wider range of problems than first-order logic, but theorem proving for these logics is less well developed.
Relationship with SMT
There is substantial overlap between first-order automated theorem provers and SMT solvers. Generally, automated theorem provers focus on supporting full first-order logic with quantifiers, whereas SMT solvers focus more on supporting various theories (interpreted predicate symbols). ATPs excel at problems with lots of quantifiers, whereas SMT solvers do well on large problems without quantifiers. The line is blurry enough that some ATPs participate in SMT-COMP, while some SMT solvers participate in CASC.
Benchmarks, competitions, and sources
The quality of implemented systems has benefited from the existence of a large library of standard benchmark examples—the Thousands of Problems for Theorem Provers (TPTP) Problem Library—as well as from the CADE ATP System Competition (CASC), a yearly competition of first-order systems for many important classes of first-order problems.
Some important systems (all have won at least one CASC competition division) are listed below.
- E is a high-performance prover for full first-order logic, but built on a purely equational calculus, originally developed in the automated reasoning group of Technical University of Munich under the direction of Wolfgang Bibel, and now at Baden-Württemberg Cooperative State University in Stuttgart.
- Otter, developed at the Argonne National Laboratory, is based on first-order resolution and paramodulation. Otter has since been replaced by Prover9, which is paired with Mace4.
- SETHEO is a high-performance system based on the goal-directed model elimination calculus, originally developed by a team under direction of Wolfgang Bibel. E and SETHEO have been combined (with other systems) in the composite theorem prover E-SETHEO.
- Vampire was originally developed and implemented at Manchester University by Andrei Voronkov and Kryštof Hoder. It is now developed by a growing international team. It has won the FOF division (among other divisions) at the CADE ATP System Competition regularly since 2001.
- Waldmeister is a specialized system for unit-equational first-order logic developed by Arnim Buch and Thomas Hillenbrand. It won the CASC UEQ division for fourteen consecutive years (1997–2010).
- SPASS is a first-order logic theorem prover with equality. This is developed by the research group Automation of Logic, Max Planck Institute for Computer Science.
The Theorem Prover Museum is an initiative to conserve the sources of theorem prover systems for future analysis, since they are important cultural/scientific artefacts. It has the sources of many of the systems mentioned above.
Popular techniques
- First-order resolution with unification
- Model elimination
- Method of analytic tableaux
- Superposition and term rewriting
- Model checking
- Mathematical induction
- Binary decision diagrams
- DPLL
- Higher-order unification
- Quantifier elimination
Software systems{{anchor|Comparison}}
| Name | License type | Web service | Library | Standalone | Last update (YYYY-mm-dd format) |
|---|---|---|---|---|---|
| ACL2 | 3-clause BSD | ||||
| Prover9/Otter | Public Domain | ||||
| Jape | GPLv2 | ||||
| PVS | GPLv2 | ||||
| EQP | |||||
| PhoX | |||||
| E | GPL | ||||
| SNARK | Mozilla Public License 1.1 | ||||
| Vampire | Vampire License | ||||
| Theorem Proving System (TPS) | TPS Distribution Agreement | ||||
| SPASS | FreeBSD license | ||||
| IsaPlanner | GPL | ||||
| KeY | GPL | ||||
| Z3 Theorem Prover | MIT License |
Free software
- Alt-Ergo
- Automath
- CVC
- E
- IsaPlanner
- LCF
- Mizar
- NuPRL
- Paradox
- Prover9
- PVS
- SPARK (programming language)
- Twelf
- Z3 Theorem Prover
Proprietary software
- CARINE
- Wolfram Mathematica
- ResearchCyc
Notes
References
- {{cite book | title = Symbolic Logic and Mechanical Theorem Proving | orig-year = 1973
- {{cite book | orig-year = 1978
- {{cite book
- {{cite book | orig-year = 1986 |date=2015 |isbn=978-0-486-78082-5 |quote=This material may be reproduced for any educational purpose, ...
- {{cite book
- {{cite book
- {{cite book | title-link = Handbook of Automated Reasoning | editor1-first = Alan |editor1-last=Robinson | editor1-link = John Alan Robinson | editor2-first= Andrei | editor2-last=Voronkov | editor2-link = Andrei Voronkov (scientist)
- {{cite book | orig-year = 1996 |date=2012 |isbn=9781461223603
References
- Frege, Gottlob. (1879). "Begriffsschrift". Verlag Louis Neuert.
- Frege, Gottlob. (1884). "Die Grundlagen der Arithmetik". Wilhelm Kobner.
- Russell. (1910–1913). "Principia Mathematica". Cambridge University Press.
- Russell. (1927). "Principia Mathematica". Cambridge University Press.
- Russell, Bertrand. (1931). "Principles of Mathematics". W.W. Norton & Company.
- Herbrand, J.. (1930). "Recherches sur la théorie de la démonstration". University of Paris.
- Presburger, Mojżesz. (1929). "Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchem die Addition als einzige Operation hervortritt". Comptes Rendus du I Congrès de Mathématiciens des Pays Slaves.
- (2002). "Computability and Logic". Cambridge University Press.
- Chowdhary, K.R.. (2025). "Theory of Computation". SpringerLink.
- Bibel, Wolfgang. (2007). "Early History and Perspectives of Automated Deduction". Springer.
- "Computational Complexity: A Modern Approach / Sanjeev Arora and Boaz Barak".
- Kleene, Stephen Cole. (1967). "Mathematical Logic". Dover Publications.
- Raatikainen, Panu. (2026). "Gödel's Incompleteness Theorems". Metaphysics Research Lab, Stanford University.
- McCune, W. W.. (1997). "Solution of the Robbins Problem". [[Journal of Automated Reasoning]].
- Kolata. (December 10, 1996). "Computer Math Proof Shows Reasoning Power". The New York Times.
- (2022). "Microprocessor Assurance and the Role of Theorem Proving". Springer Nature Singapore.
- (2004). "Program Development in Computational Logic". Springer.
- (2008-01-01). "Translating Higher-Order Clauses to First-Order Clauses". Journal of Automated Reasoning.
- Bos, Johan. [https://aclanthology.org/W08-2222.pdf "Wide-coverage semantic analysis with boxer."] Semantics in text processing. step 2008 conference proceedings. 2008.
- Muskens, Reinhard. [https://philarchive.org/archive/MUSCMS "Combining Montague semantics and discourse representation."] Linguistics and philosophy (1996): 143-186.
- Luckham. (Mar 1976). "Automatic Program Verification V: Verification-Oriented Proof Rules for Arrays, Records, and Pointers".
- (Oct 1979). "Verification of Array, Record, and Pointer Operations in Pascal". [[ACM Transactions on Programming Languages and Systems]].
- (1979). "Stanford Pascal verifier user manual".
- Loveland, D. W.. (1986). "Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems". ACM Press.
- Kerber, Manfred. "[https://kluedo.ub.uni-kl.de/files/364/seki_4.pdf How to prove higher order theorems in first order logic]." (1999).
- Benzmüller, Christoph, et al. "[https://page.mi.fu-berlin.de/cbenzmueller/papers/C26.pdf LEO-II-a cooperative automatic theorem prover for classical higher-order logic (system description)]." International Joint Conference on Automated Reasoning. Berlin, Germany and Heidelberg: Springer, 2008.
- (2013-06-01). "Extending Sledgehammer with SMT Solvers". Journal of Automated Reasoning.
- (2019-01-01). "The SMT Competition 2015–2018". Journal on Satisfiability, Boolean Modeling and Computation.
- Sutcliffe, Geoff. "The TPTP Problem Library for Automated Theorem Proving".
- "History".
- "The Theorem Prover Museum". [[Michael Kohlhase]].
- Bundy, Alan. (1999). "The automation of proof by mathematical induction". Division of Informatics, University of Edinburgh.
- Gabbay, Dov M., and Hans Jürgen Ohlbach. [https://pure.mpg.de/rest/items/item_1834831/component/file_2172339/content "Quantifier elimination in second-order predicate logic."] (1992).
This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.
Ask Mako anything about Automated theorem proving — get instant answers, deeper analysis, and related topics.
Research with MakoFree with your Surf account
Create a free account to save articles, ask Mako questions, and organize your research.
Sign up freeThis content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.
Report