Prover9
   HOME

TheInfoList



OR:

Prover9 is an
automated theorem prover 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 ma ...
for first-order and equational logic developed by
William McCune William Walker McCune (December 17, 1953 – May 2, 2011) was an American computer scientist and logician working in the fields of automated reasoning, algebra, logic, and formal methods. Biography He was best known for the development of the Ot ...
.


Description

Prover9 is the successor of the
Otter Otters are carnivorous mammals in the subfamily Lutrinae. The 13 extant otter species are all semiaquatic, aquatic, or marine. Lutrinae is a branch of the Mustelidae family, which includes weasels, badgers, mink, and wolverines, among ...
theorem prover also developed by
William McCune William Walker McCune (December 17, 1953 – May 2, 2011) was an American computer scientist and logician working in the fields of automated reasoning, algebra, logic, and formal methods. Biography He was best known for the development of the Ot ...
. Prover9 is noted for producing relatively readable proofs and having a powerful hints strategy. Prover9 is intentionally paired with
Mace4 Models And Counter-Examples (Mace) is a model finder. Most automated theorem provers try to perform a proof by refutation on the clause normal form of the proof problem, by showing that the combination of axioms and negated conjecture can never ...
, which searches for finite models and counterexamples. Both can be run simultaneously from the same input, with Prover9 attempting to find a proof, while Mace4 attempts to find a (disproving) counter-example. Prover9, Mace4, and many other tools are built on an underlying library named LADR ("Library for Automated Deduction Research") to simplify implementation. Resulting proofs can be double-checked by Ivy, a proof-checking tool that has been separately verified using ACL2. In July 2006 the LADR/Prover9/Mace4 input language made a major change (which also differentiates it from Otter). The key distinction between "clauses" and "formulas" completely disappeared; "formulas" can now have
free variables In mathematics, and in other disciplines involving formal languages, including mathematical logic and computer science, a variable may be said to be either free or bound. Some older books use the terms real variable and apparent variable for f ...
; and "clauses" are now a subset of "formulas". Prover9/Mace4 also supports a "goal" type of formula, which is automatically negated for proof. Prover9 attempts to automatically generate a proof by default; in contrast, Otter's automatic mode must be explicitly set. Prover9 was under active development, with new releases every month or every other month, until 2009. Prover9 is
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
, and therefore,
open source software Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
; it is released under GPL version 2 or later.


Examples


Socrates

The traditional "all men are mortal", "Socrates is a man", prove "Socrates is mortal" can be expressed this way in Prover9: formulas(assumptions). man(x) -> mortal(x). % open formula with free variable x man(socrates). end_of_list. formulas(goals). mortal(socrates). end_of_list. This will be automatically converted into
clausal form In Boolean algebra, a formula is in conjunctive normal form (CNF) or clausal normal form if it is a conjunction of one or more clauses, where a clause is a disjunction of literals; otherwise put, it is a product of sums or an AND of ORs. In au ...
(which Prover9 also accepts): formulas(sos). -man(x) , mortal(x). man(socrates). -mortal(socrates). end_of_list.


Square root of 2 is irrational

A proof that the
square root of 2 The square root of 2 (approximately 1.4142) is the positive real number that, when multiplied by itself or squared, equals the number 2. It may be written as \sqrt or 2^. It is an algebraic number, and therefore not a transcendental number. Te ...
is
irrational Irrationality is cognition, thinking, talking, or acting without rationality. Irrationality often has a negative connotation, as thinking and actions that are less useful or more illogical than other more rational alternatives. The concept of ...
can be expressed this way: formulas(assumptions). 1*x = x. % identity x*y = y*x. % commutativity x*(y*z) = (x*y)*z. % associativity ( x*y = x*z ) -> y = z. % cancellation (0 is not allowed, so x!=0). % % Now let's define divides(x,y): x divides y. % Example: divides(2,6) is true because 2*3=6. % divides(x,y) <-> (exists z x*z = y). divides(2,x*x) -> divides(2,x). % If 2 divides x*x, it divides x. a*a = 2*(b*b). % a/b = sqrt(2), so a^2 = 2 * b^2. (x != 1) -> -(divides(x,a) & divides(x,b)). % a/b is in lowest terms 2 != 1. % Original author almost forgot this. end_of_list.


References

{{Reflist, refs= {{cite web, title=Automated Theorem Proving in Loop Theory, first1=J. D., last1=Phillips, first2=David, last2=Stanovsky , url=http://www.karlin.mff.cuni.cz/~stanovsk/math/esarm.pdf, access-date=15 November 2018, website=
Charles University Charles University (CUNI; , UK; ; ), or historically as the University of Prague (), is the largest university in the Czech Republic. It is one of the List of oldest universities in continuous operation, oldest universities in the world in conti ...
, url-status=live, archive-url=https://web.archive.org/web/20180328220241/http://www.karlin.mff.cuni.cz/~stanovsk/math/esarm.pdf, archive-date=28 March 2018, df=dmy-all
{{cite conference, conference=10th International Conference, MPC 2010, title=On Automated Program Construction and Verification, first1=Rudolf, last1=Berghammer, first2=Georg, last2=Struth, book-title=Mathematics of Program Construction, Proceedings, location=
Quebec City Quebec City is the capital city of the Provinces and territories of Canada, Canadian province of Quebec. As of July 2021, the city had a population of 549,459, and the Census Metropolitan Area (including surrounding communities) had a populati ...
, date=21 June 2010, editor1=Bolduc, Claude , editor2=Desharnais, Jules , editor3=Ktari, Bechir, doi=10.1007/978-3-642-13321-3, isbn=978-3-642-13320-6 , s2cid=6962311 , url=https://pdfs.semanticscholar.org/c5a0/c676eaa782ba22f96854dc7c3757c17f4990.pdf, access-date=19 November 2018, url-status=dead , archive-url=https://web.archive.org/web/20181119064308/https://pdfs.semanticscholar.org/c5a0/c676eaa782ba22f96854dc7c3757c17f4990.pdf, archive-date=19 November 2018, df=dmy-all


External links


Prover9 home pageProver9 – Mace4 – LADR forumsFormal methods (square root of 2 example)
Free theorem provers Public-domain software