About TPS and ETPS

TPS and ETPS are, respectively, the Theorem Proving System and the Educational Theorem Proving System. The former is an automated theorem-prover for first-order logic and type theory. The latter is a cut-down version of TPS intended for use by students; it contains only commands relevant to proving theorems interactively. TPS and ETPS run in Common Lisp, and can be used on any system where Common Lisp runs. TPS and ETPS have been used extensively under Unix and Linux systems, and to some extent under Windows.

Potential applications of automated theorem proving include hardware and software verification, partial automation of various mathematical activities, promoting development of formal theories in a wide variety of disciplines, deductive information systems for these disciplines, expert systems which can reason, and certain aspects of artificial intelligence.

TPS can be used to prove theorems of first- and higher-order logic interactively, automatically, or in a mixture of these modes, though in automatic mode it is quite primitive in certain respects, such as in dealing with equality. It has facilities for searching for expansion proofs, translating these into natural deduction proofs, constructing natural deduction proofs, translating natural deduction proofs which do not contain cuts into expansion proofs, and solving unification problems in higher-order logic. It has a formula editor which facilitates constructing new formulas from others already known to TPS, and a library facility for saving formulas, definitions, and modes (groups of flag settings).

The interactive facilities of TPS for constructing natural deduction proofs have been used under the name ETPS in logic courses at Carnegie Mellon for a number of years. Students generally learn to use ETPS fairly quickly just by reading the manual (which contains some complete examples) and playing with the system. The student using ETPS issues commands to apply rules of inference in specified ways, and the computer handles the details of writing the appropriate lines of the proof and checking that the rules can be used in this way. The program thus allows students to concentrate on the essential logical problems underlying the proofs, and it gives them immediate feedback for both correct and incorrect actions. ETPS permits students to work forwards, backwards, or in a combination of these modes, and provides facilities for rearranging proofs, deleting parts of proofs, displaying only those parts of proofs under active consideration, saving incomplete proofs, and printing proofs on paper. The convenient formula editor permits the student to extract needed formulas which occur anywhere in the proof, and build new formulas from them. The rules of inference and predefined problems in ETPS are mostly taken from the textbook: Peter B. Andrews, An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof, Second Edition, Kluwer Academic Publishers, 2002. Descriptions of the rules of inference are available online. When the teacher permits it, the student can obtain hints from ETPS concerning what to try in various situations. Students can send remarks or questions to the teacher without leaving the program. A record of completed exercises is maintained by ETPS, and can be processed by the GRADER program which is also part of TPS, and which can be used to maintain and process numerical or letter grades for any course. For more information about ETPS, you can download the report ETPS: A System to Help Students Write Formal Proofs (postscript) (pdf).

TPS won the first competition between higher-order theorem proving systems which has ever been held. The competition, in the newly established THF demonstration division, was part of The CADE-22 ATP System Competition (CASC-22) at The 22nd International Conference on Automated Deduction (CADE-22) in Montreal, Canada, during August, 2009.

Past and Present Members of the TPS Project:

[Peter Andrews] [Matthew Bishop] [Chad E. Brown] [Sunil Issar] [Dan Nesmith] [Frank Pfenning] [Hongwei Xi]

(not by any means an exhaustive list).

Belorussian translation of this page


PrevTopNextNEW!