fbpx
Wikipedia

Automated theorem proving

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 impetus for the development of computer science.

Logical foundations edit

While the roots of formalised logic go back to Aristotle, the end of the 19th and early 20th centuries saw the development of modern logic and formalised mathematics. Frege's Begriffsschrift (1879) introduced both a complete propositional calculus and what is essentially modern predicate logic.[1] His Foundations of Arithmetic, published in 1884,[2] expressed (parts of) mathematics in formal logic. This approach was continued by Russell and Whitehead in their influential Principia Mathematica, first published 1910–1913,[3] and with a revised second edition in 1927.[4] 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 automatisation. 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.[5]

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.[6][7]

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 edit

Shortly after World War II, the first general-purpose computers became available. 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".[7][8] 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.[7]

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.[7][9]

Decidability of the problem edit

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).

Related problems edit

A simpler, but related, problem is proof verification, where an existing proof for a theorem is certified valid. For this, it is generally required that each individual proof step can be verified by a primitive recursive function or program, and hence the problem is always decidable.

Since the proofs generated by automated theorem provers are typically very large, the problem of proof compression is crucial, and various techniques aiming at making the prover's output smaller, and consequently more easily understandable and checkable, have been developed.

Proof assistants require a human user to give hints to the system. Depending on the degree of automation, the prover can essentially be reduced to a proof checker, with the user providing the proof in a formal way, or significant proof tasks can be performed automatically. Interactive provers are used for a variety of tasks, but even fully automatic systems have proved a number of interesting and hard theorems, including at least one that has eluded human mathematicians for a long time, namely the Robbins conjecture.[10][11] However, these successes are sporadic, and work on hard problems usually requires a proficient user.

Another distinction is sometimes drawn between theorem proving and other techniques, where a process is considered to be theorem proving if it consists of a traditional proof, starting with axioms and producing new inference steps using rules of inference. Other techniques would include model checking, which, in the simplest case, involves brute-force enumeration of many possible states (although the actual implementation of model checkers requires much cleverness, and does not simply reduce to brute force).

There are hybrid theorem proving systems that use model checking as an inference rule. There are also programs that were written to prove a particular theorem, with a (usually informal) proof that if the program finishes with a certain result, then the theorem is true. A good example of this was the machine-aided proof of the four color theorem, which was very controversial as the first claimed mathematical proof that was essentially impossible to verify by humans due to the enormous size of the program's calculation (such proofs are called non-surveyable proofs). Another example of a program-assisted proof is the one that shows that the game of Connect Four can always be won by the first player.

Applications edit

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.[12]

Other uses of theorem provers include program synthesis, constructing programs that satisfy a formal specification.[13] Automated theorem provers have been integrated with proof assistants, including Isabelle/HOL.[14]

First-order theorem proving edit

In the late 1960s agencies funding research in automated deduction began to emphasize the need for practical applications.[citation needed] 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.[15][16][17] 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.[citation needed]

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.[18] 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.[19][20]

Relationship with SMT edit

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.[21] The line is blurry enough that some ATPs participate in SMT-COMP, while some SMT solvers participate in CASC.[22]

Benchmarks, competitions, and sources edit

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[23]—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.

The Theorem Prover Museum[25] 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 edit

Software systems edit

Comparison
Name License type Web service Library Standalone Last update (YYYY-mm-dd format)
ACL2 3-clause BSD No No Yes May 2019
Prover9/Otter Public Domain Via System on TPTP Yes No 2009
Jape GPLv2 Yes Yes No May 15, 2015
PVS GPLv2 No Yes No January 14, 2013
EQP ? No Yes No May 2009
PhoX ? No Yes No September 28, 2017
E GPL Via System on TPTP No Yes July 4, 2017
SNARK Mozilla Public License 1.1 No Yes No 2012
Vampire Vampire License Via System on TPTP Yes Yes December 14, 2017
Theorem Proving System (TPS) TPS Distribution Agreement No Yes No February 4, 2012
SPASS FreeBSD license Yes Yes Yes November 2005
IsaPlanner GPL No Yes Yes 2007
KeY GPL Yes Yes Yes October 11, 2017
Z3 Theorem Prover MIT License Yes Yes Yes November 19, 2019

Free software edit

Proprietary software edit

See also edit

Notes edit

  1. ^ Frege, Gottlob (1879). Begriffsschrift. Verlag Louis Neuert.
  2. ^ Frege, Gottlob (1884). (PDF). Breslau: Wilhelm Kobner. Archived from the original (PDF) on 2007-09-26. Retrieved 2012-09-02.
  3. ^ Russell, Bertrand; Whitehead, Alfred North (1910–1913). Principia Mathematica (1st ed.). Cambridge University Press.
  4. ^ Russell, Bertrand; Whitehead, Alfred North (1927). Principia Mathematica (2nd ed.). Cambridge University Press.
  5. ^ Herbrand, J. (1930). Recherches sur la théorie de la démonstration (PhD) (in French). University of Paris.
  6. ^ 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. Warszawa: 92–101.
  7. ^ a b c d Davis, Martin (2001). . Robinson & Voronkov 2001. Archived from the original on 2012-07-28. Retrieved 2012-09-08.
  8. ^ Bibel, Wolfgang (2007). "Early History and Perspectives of Automated Deduction" (PDF). Ki 2007. LNAI. Springer (4667): 2–18. Archived (PDF) from the original on 2022-10-09. Retrieved 2 September 2012.
  9. ^ Gilmore, Paul (1960). "A proof procedure for quantification theory: its justification and realisation". IBM Journal of Research and Development. 4: 28–35. doi:10.1147/rd.41.0028.
  10. ^ McCune, W. W. (1997). "Solution of the Robbins Problem". Journal of Automated Reasoning. 19 (3): 263–276. doi:10.1023/A:1005843212881. S2CID 30847540.
  11. ^ Kolata, Gina (December 10, 1996). "Computer Math Proof Shows Reasoning Power". The New York Times. Retrieved 2008-10-11.
  12. ^ Goel, Shilpi; Ray, Sandip (2022), Chattopadhyay, Anupam (ed.), "Microprocessor Assurance and the Role of Theorem Proving", Handbook of Computer Architecture, Singapore: Springer Nature Singapore, pp. 1–43, doi:10.1007/978-981-15-6401-7_38-1, ISBN 978-981-15-6401-7, retrieved 2024-02-10
  13. ^ Basin, D.; Deville, Y.; Flener, P.; Hamfelt, A.; Fischer Nilsson, J. (2004). "Synthesis of programs in computational logic". In M. Bruynooghe and K.-K. Lau (ed.). Program Development in Computational Logic. LNCS. Vol. 3049. Springer. pp. 30–65. CiteSeerX 10.1.1.62.4976.
  14. ^ Meng, Jia; Paulson, Lawrence C. (2008-01-01). "Translating Higher-Order Clauses to First-Order Clauses". Journal of Automated Reasoning. 40 (1): 35–60. doi:10.1007/s10817-007-9085-y. ISSN 1573-0670. S2CID 7716709.
  15. ^ Luckham, David C.; Suzuki, Norihisa (Mar 1976). Automatic Program Verification V: Verification-Oriented Proof Rules for Arrays, Records, and Pointers (Technical Report AD-A027 455). Defense Technical Information Center. from the original on August 12, 2021.
  16. ^ Luckham, David C.; Suzuki, Norihisa (Oct 1979). "Verification of Array, Record, and Pointer Operations in Pascal". ACM Transactions on Programming Languages and Systems. 1 (2): 226–244. doi:10.1145/357073.357078. S2CID 10088183.
  17. ^ Luckham, D.; German, S.; von Henke, F.; Karp, R.; Milne, P.; Oppen, D.; Polak, W.; Scherlis, W. (1979). Stanford Pascal verifier user manual (Technical report). Stanford University. CS-TR-79-731.
  18. ^ Loveland, D. W. (1986). "Automated theorem proving: Mapping logic into AI". Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems. Knoxville, Tennessee, United States: ACM Press. p. 224. doi:10.1145/12808.12833. ISBN 978-0-89791-206-8. S2CID 14361631.
  19. ^ Kerber, Manfred. "How to prove higher order theorems in first order logic." (1999).
  20. ^ Benzmüller, Christoph, et al. "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.
  21. ^ Blanchette, Jasmin Christian; Böhme, Sascha; Paulson, Lawrence C. (2013-06-01). "Extending Sledgehammer with SMT Solvers". Journal of Automated Reasoning. 51 (1): 109–128. doi:10.1007/s10817-013-9278-5. ISSN 1573-0670. S2CID 5389933. ATPs and SMT solvers have complementary strengths. The former handle quantifiers more elegantly, whereas the latter excel on large, mostly ground problems.
  22. ^ Weber, Tjark; Conchon, Sylvain; Déharbe, David; Heizmann, Matthias; Niemetz, Aina; Reger, Giles (2019-01-01). "The SMT Competition 2015–2018". Journal on Satisfiability, Boolean Modeling and Computation. 11 (1): 221–259. doi:10.3233/SAT190123. In recent years, we have seen a blurring of lines between SMT-COMP and CASC with SMT solvers competing in CASC and ATPs competing in SMT-COMP.
  23. ^ Sutcliffe, Geoff. "The TPTP Problem Library for Automated Theorem Proving". Retrieved 15 July 2019.
  24. ^ "History". vprover.github.io.
  25. ^ "The Theorem Prover Museum". Michael Kohlhase. Retrieved 2022-11-20.
  26. ^ Bundy, Alan (1999). The automation of proof by mathematical induction (PDF) (Technical report). Informatics Research Report. Vol. 2. Division of Informatics, University of Edinburgh. hdl:1842/3394.
  27. ^ Gabbay, Dov M., and Hans Jürgen Ohlbach. "Quantifier elimination in second-order predicate logic." (1992).

References edit

External links edit

  • A list of theorem proving tools

automated, theorem, proving, also, known, automated, deduction, subfield, automated, reasoning, mathematical, logic, dealing, with, proving, mathematical, theorems, computer, programs, automated, reasoning, over, mathematical, proof, major, impetus, developmen. 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 impetus for the development of computer science Contents 1 Logical foundations 2 First implementations 3 Decidability of the problem 4 Related problems 5 Applications 6 First order theorem proving 6 1 Relationship with SMT 7 Benchmarks competitions and sources 8 Popular techniques 9 Software systems 9 1 Free software 9 2 Proprietary software 10 See also 11 Notes 12 References 13 External linksLogical foundations editWhile the roots of formalised logic go back to Aristotle the end of the 19th and early 20th centuries saw the development of modern logic and formalised mathematics Frege s Begriffsschrift 1879 introduced both a complete propositional calculus and what is essentially modern predicate logic 1 His Foundations of Arithmetic published in 1884 2 expressed parts of mathematics in formal logic This approach was continued by Russell and Whitehead in their influential Principia Mathematica first published 1910 1913 3 and with a revised second edition in 1927 4 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 automatisation In 1920 Thoralf Skolem simplified a previous result by Leopold Lowenheim leading to the Lowenheim 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 5 In 1929 Mojzesz 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 6 7 However shortly after this positive result Kurt Godel 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 editShortly after World War II the first general purpose computers became available 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 7 8 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 7 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 7 9 Decidability of the problem editThis section does not cite any sources Please help improve this section by adding citations to reliable sources Unsourced material may be challenged and removed April 2010 Learn how and when to remove this template message 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 Godel 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 Godel 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 Related problems editA simpler but related problem is proof verification where an existing proof for a theorem is certified valid For this it is generally required that each individual proof step can be verified by a primitive recursive function or program and hence the problem is always decidable Since the proofs generated by automated theorem provers are typically very large the problem of proof compression is crucial and various techniques aiming at making the prover s output smaller and consequently more easily understandable and checkable have been developed Proof assistants require a human user to give hints to the system Depending on the degree of automation the prover can essentially be reduced to a proof checker with the user providing the proof in a formal way or significant proof tasks can be performed automatically Interactive provers are used for a variety of tasks but even fully automatic systems have proved a number of interesting and hard theorems including at least one that has eluded human mathematicians for a long time namely the Robbins conjecture 10 11 However these successes are sporadic and work on hard problems usually requires a proficient user Another distinction is sometimes drawn between theorem proving and other techniques where a process is considered to be theorem proving if it consists of a traditional proof starting with axioms and producing new inference steps using rules of inference Other techniques would include model checking which in the simplest case involves brute force enumeration of many possible states although the actual implementation of model checkers requires much cleverness and does not simply reduce to brute force There are hybrid theorem proving systems that use model checking as an inference rule There are also programs that were written to prove a particular theorem with a usually informal proof that if the program finishes with a certain result then the theorem is true A good example of this was the machine aided proof of the four color theorem which was very controversial as the first claimed mathematical proof that was essentially impossible to verify by humans due to the enormous size of the program s calculation such proofs are called non surveyable proofs Another example of a program assisted proof is the one that shows that the game of Connect Four can always be won by the first player Applications editCommercial 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 12 Other uses of theorem provers include program synthesis constructing programs that satisfy a formal specification 13 Automated theorem provers have been integrated with proof assistants including Isabelle HOL 14 First order theorem proving editIn the late 1960s agencies funding research in automated deduction began to emphasize the need for practical applications citation needed 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 15 16 17 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 citation needed 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 18 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 19 20 Relationship with SMT edit 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 21 The line is blurry enough that some ATPs participate in SMT COMP while some SMT solvers participate in CASC 22 Benchmarks competitions and sources editThe 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 23 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 Wurttemberg 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 Krystof 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 24 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 25 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 editThis article is in list format but may read better as prose You can help by converting this article if appropriate Editing help is available December 2023 First order resolution with unification Model elimination Method of analytic tableaux Superposition and term rewriting Model checking Mathematical induction 26 Binary decision diagrams DPLL Higher order unification Quantifier elimination 27 Software systems editSee also Proof assistant Comparison and Category Theorem proving software systems Comparison Name License type Web service Library Standalone Last update YYYY mm dd format ACL2 3 clause BSD No No Yes May 2019Prover9 Otter Public Domain Via System on TPTP Yes No 2009Jape GPLv2 Yes Yes No May 15 2015PVS GPLv2 No Yes No January 14 2013EQP No Yes No May 2009PhoX No Yes No September 28 2017E GPL Via System on TPTP No Yes July 4 2017SNARK Mozilla Public License 1 1 No Yes No 2012Vampire Vampire License Via System on TPTP Yes Yes December 14 2017Theorem Proving System TPS TPS Distribution Agreement No Yes No February 4 2012SPASS FreeBSD license Yes Yes Yes November 2005IsaPlanner GPL No Yes Yes 2007KeY GPL Yes Yes Yes October 11 2017Z3 Theorem Prover MIT License Yes Yes Yes November 19 2019Free software edit Alt Ergo Automath CVC E IsaPlanner LCF Mizar NuPRL Paradox Prover9 PVS SPARK programming language Twelf Z3 Theorem ProverProprietary software edit CARINE Wolfram Mathematica ResearchCycSee also editCurry Howard correspondence Symbolic computation Ramanujan machine Computer aided proof Formal verification Logic programming Proof checking Model checking Proof complexity Computer algebra system Program analysis computer science General Problem Solver Metamath language for formalized mathematics De Bruijn factorNotes edit Frege Gottlob 1879 Begriffsschrift Verlag Louis Neuert Frege Gottlob 1884 Die Grundlagen der Arithmetik PDF Breslau Wilhelm Kobner Archived from the original PDF on 2007 09 26 Retrieved 2012 09 02 Russell Bertrand Whitehead Alfred North 1910 1913 Principia Mathematica 1st ed Cambridge University Press Russell Bertrand Whitehead Alfred North 1927 Principia Mathematica 2nd ed Cambridge University Press Herbrand J 1930 Recherches sur la theorie de la demonstration PhD in French University of Paris Presburger Mojzesz 1929 Uber die Vollstandigkeit eines gewissen Systems der Arithmetik ganzer Zahlen in welchem die Addition als einzige Operation hervortritt Comptes Rendus du I Congres de Mathematiciens des Pays Slaves Warszawa 92 101 a b c d Davis Martin 2001 The Early History of Automated Deduction Robinson amp Voronkov 2001 Archived from the original on 2012 07 28 Retrieved 2012 09 08 Bibel Wolfgang 2007 Early History and Perspectives of Automated Deduction PDF Ki 2007 LNAI Springer 4667 2 18 Archived PDF from the original on 2022 10 09 Retrieved 2 September 2012 Gilmore Paul 1960 A proof procedure for quantification theory its justification and realisation IBM Journal of Research and Development 4 28 35 doi 10 1147 rd 41 0028 McCune W W 1997 Solution of the Robbins Problem Journal of Automated Reasoning 19 3 263 276 doi 10 1023 A 1005843212881 S2CID 30847540 Kolata Gina December 10 1996 Computer Math Proof Shows Reasoning Power The New York Times Retrieved 2008 10 11 Goel Shilpi Ray Sandip 2022 Chattopadhyay Anupam ed Microprocessor Assurance and the Role of Theorem Proving Handbook of Computer Architecture Singapore Springer Nature Singapore pp 1 43 doi 10 1007 978 981 15 6401 7 38 1 ISBN 978 981 15 6401 7 retrieved 2024 02 10 Basin D Deville Y Flener P Hamfelt A Fischer Nilsson J 2004 Synthesis of programs in computational logic In M Bruynooghe and K K Lau ed Program Development in Computational Logic LNCS Vol 3049 Springer pp 30 65 CiteSeerX 10 1 1 62 4976 Meng Jia Paulson Lawrence C 2008 01 01 Translating Higher Order Clauses to First Order Clauses Journal of Automated Reasoning 40 1 35 60 doi 10 1007 s10817 007 9085 y ISSN 1573 0670 S2CID 7716709 Luckham David C Suzuki Norihisa Mar 1976 Automatic Program Verification V Verification Oriented Proof Rules for Arrays Records and Pointers Technical Report AD A027 455 Defense Technical Information Center Archived from the original on August 12 2021 Luckham David C Suzuki Norihisa Oct 1979 Verification of Array Record and Pointer Operations in Pascal ACM Transactions on Programming Languages and Systems 1 2 226 244 doi 10 1145 357073 357078 S2CID 10088183 Luckham D German S von Henke F Karp R Milne P Oppen D Polak W Scherlis W 1979 Stanford Pascal verifier user manual Technical report Stanford University CS TR 79 731 Loveland D W 1986 Automated theorem proving Mapping logic into AI Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems Knoxville Tennessee United States ACM Press p 224 doi 10 1145 12808 12833 ISBN 978 0 89791 206 8 S2CID 14361631 Kerber Manfred How to prove higher order theorems in first order logic 1999 Benzmuller Christoph et al 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 Blanchette Jasmin Christian Bohme Sascha Paulson Lawrence C 2013 06 01 Extending Sledgehammer with SMT Solvers Journal of Automated Reasoning 51 1 109 128 doi 10 1007 s10817 013 9278 5 ISSN 1573 0670 S2CID 5389933 ATPs and SMT solvers have complementary strengths The former handle quantifiers more elegantly whereas the latter excel on large mostly ground problems Weber Tjark Conchon Sylvain Deharbe David Heizmann Matthias Niemetz Aina Reger Giles 2019 01 01 The SMT Competition 2015 2018 Journal on Satisfiability Boolean Modeling and Computation 11 1 221 259 doi 10 3233 SAT190123 In recent years we have seen a blurring of lines between SMT COMP and CASC with SMT solvers competing in CASC and ATPs competing in SMT COMP Sutcliffe Geoff The TPTP Problem Library for Automated Theorem Proving Retrieved 15 July 2019 History vprover github io The Theorem Prover Museum Michael Kohlhase Retrieved 2022 11 20 Bundy Alan 1999 The automation of proof by mathematical induction PDF Technical report Informatics Research Report Vol 2 Division of Informatics University of Edinburgh hdl 1842 3394 Gabbay Dov M and Hans Jurgen Ohlbach Quantifier elimination in second order predicate logic 1992 References editChang Chin Liang Lee Richard Char Tung 2014 1973 Symbolic Logic and Mechanical Theorem Proving Elsevier ISBN 9780080917283 Loveland Donald W 2016 1978 Automated Theorem Proving A Logical Basis Fundamental Studies in Computer Science Vol 6 Elsevier ISBN 9781483296777 Luckham David 1990 Programming with Specifications An Introduction to Anna A Language for Specifying Ada Programs Springer ISBN 978 1461396871 Gallier Jean H 2015 1986 Logic for Computer Science Foundations of Automatic Theorem Proving 2nd ed Dover ISBN 978 0 486 78082 5 This material may be reproduced for any educational purpose Duffy David A 1991 Principles of Automated Theorem Proving Wiley ISBN 9780471927846 Wos Larry Overbeek Ross Lusk Ewing Boyle Jim 1992 Automated Reasoning Introduction and Applications 2nd ed McGraw Hill ISBN 9780079112514 Robinson Alan Voronkov Andrei eds 2001 Handbook of Automated Reasoning Vol I Elsevier MIT Press ISBN 9780080532790 II ISBN 9780262182232 Fitting Melvin 2012 1996 First Order Logic and Automated Theorem Proving 2nd ed Springer ISBN 9781461223603 External links editA list of theorem proving tools Retrieved from https en wikipedia org w index php title Automated theorem proving amp oldid 1205993341, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.