In
computer science and
mathematical logic, a proof assistant or interactive theorem prover is a software tool to assist with the development of
formal proofs by human-machine collaboration. This involves some sort of interactive proof editor, or other
interface, with which a human can guide the search for proofs, the details of which are stored in, and some steps provided by, a
computer
A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
.
System comparison
*
ACL2 – a programming language, a first-order logical theory, and a theorem prover (with both interactive and automatic modes) in the Boyer–Moore tradition.
*
Coq – Allows the expression of mathematical assertions, mechanically checks proofs of these assertions, helps to find formal proofs, and extracts a certified program from the constructive proof of its formal specification.
*
HOL theorem provers – A family of tools ultimately derived from the
LCF theorem prover. In these systems the logical core is a library of their programming language. Theorems represent new elements of the language and can only be introduced via "strategies" which guarantee logical correctness. Strategy composition gives users the ability to produce significant proofs with relatively few interactions with the system. Members of the family include:
**
HOL4 – The "primary descendant", still under active development. Support for both
Moscow ML and
Poly/ML
Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of the ...
. Has a
BSD-style license.
**
HOL Light – A thriving "minimalist fork".
OCaml
OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
based.
**ProofPower – Went proprietary, then returned to open source. Based on
Standard ML
Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of the ...
.
* IMPS, An Interactive Mathematical Proof System
*
Isabelle
Isabel is a female name of Spanish origin. Isabelle is a name that is similar, but it is of French origin. It originates as the medieval Spanish form of '' Elisabeth'' (ultimately Hebrew ''Elisheva''), Arising in the 12th century, it became popul ...
is an interactive theorem prover, successor of HOL. The main code-base is BSD-licensed, but the Isabelle distribution bundles many add-on tools with different licenses.
*
Jape – Java based.
*
Lean
*
LEGO
Lego ( , ; stylized as LEGO) is a line of plastic construction toys that are manufactured by The Lego Group, a privately held company based in Billund, Denmark. The company's flagship product, Lego, consists of variously colored interlocking ...
*
Matita – A light system based on the Calculus of Inductive Constructions.
*
MINLOG – A proof assistant based on first-order minimal logic.
*
Mizar – A proof assistant based on first-order logic, in a
natural deduction style, and
Tarski–Grothendieck set theory.
*
PhoX – A proof assistant based on higher-order logic which is eXtensible.
*
Prototype Verification System (PVS) – a proof language and system based on higher-order logic.
*
TPS
TPS or Tps may refer to:
In arts and entertainment
*Télévision Par Satellite, a French satellite television company
*Third-person shooter, a game genre
* Torsonic Polarity Syndrome, in ''South Park'' animation
* Trailer Park Sex, a band from ...
and ETPS – Interactive theorem provers also based on simply-typed lambda calculus, but based on an independent
formulation
Formulation is a term used in various senses in various applications, both the material and the abstract or formal. Its fundamental meaning is the putting together of components in appropriate relationships or structures, according to a formul ...
of the logical theory and independent implementation.
User interfaces
A popular front-end for proof assistants is the
Emacs
Emacs , originally named EMACS (an acronym for "Editor MACroS"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
-based Proof General, developed at the
University of Edinburgh.
Coq includes CoqIDE, which is based on OCaml/
Gtk. Isabelle includes Isabelle/jEdit, which is based on
jEdit and the Isabelle/
Scala infrastructure for document-oriented proof processing. More recently, a
Visual Studio Code extension for Isabelle has also been developed by Makarius Wenzel.
See also
*
*
*
*
*
*
Notes
References
*
*
*
*
*
*
External links
{{external links, date=December 2022
Theorem Prover Museumin ''Certified Programming with Dependent Types''.
Introduction to the Coq Proof Assistant(with a general introduction to interactive theorem proving)
A list of theorem proving tools
; Catalogues
*
DMOZScience: Math: Logic and Foundations: Computational Logic: Logical Frameworks
Argument technology
Automated theorem proving
de:Maschinengestütztes Beweisen