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
Interface or interfacing may refer to:
Academic journals
* ''Interface'' (journal), by the Electrochemical Society
* '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics''
* '' Int ...
, with which a human can guide the search for proofs, the details of which are stored in, and some steps provided by, a
computer.
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
Coq is an interactive theorem prover first released in 1989. It allows for expressing mathematical assertions, mechanically checks proofs of these assertions, helps find formal proofs, and extracts a certified program from the constructive proof ...
– 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 prover
HOL (Higher Order Logic) denotes a family of interactive theorem proving systems using similar (higher-order) logics and implementation strategies. Systems in this family follow the LCF approach as they are implemented as a library which defin ...
s – 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
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 th ...
and
Poly/ML. Has a
BSD-style license.
**
HOL Light HOL Light is a member of the HOL theorem prover family. Like the other members, it is a proof assistant for classical higher order logic. Compared with other HOL systems, HOL Light is intended to have relatively simple foundations. HOL Light is ...
– A thriving "minimalist fork".
OCaml
OCaml ( , formerly Objective Caml) is a general-purpose, multi-paradigm programming language which extends the Caml dialect of ML with object-oriented features. OCaml was created in 1996 by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Di ...
based.
**ProofPower – Went proprietary, then returned to open source. Based on
Standard ML.
* 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 popu ...
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
Lean, leaning or LEAN may refer to:
Business practices
* Lean thinking, a business methodology adopted in various fields
** Lean construction, an adaption of lean manufacturing principles to the design and construction process
** Lean governm ...
*
LEGO
*
Matita – A light system based on the Calculus of Inductive Constructions.
*
MINLOG – A proof assistant based on first-order minimal logic.
*
Mizar
Mizar is a second-magnitude star in the handle of the Big Dipper asterism in the constellation of Ursa Major. It has the Bayer designation ζ Ursae Majoris ( Latinised as Zeta Ursae Majoris). It forms a well-known naked eye ...
– A proof assistant based on first-order logic, in a
natural deduction In logic and proof theory, natural deduction is a kind of proof calculus in which logical reasoning is expressed by inference rules closely related to the "natural" way of reasoning. This contrasts with Hilbert-style systems, which instead use a ...
style, and
Tarski–Grothendieck set theory
Tarski–Grothendieck set theory (TG, named after mathematicians Alfred Tarski and Alexander Grothendieck) is an axiomatic set theory. It is a non-conservative extension of Zermelo–Fraenkel set theory (ZFC) and is distinguished from other axi ...
.
*
PhoX – A proof assistant based on higher-order logic which is eXtensible.
*
Prototype Verification System
The Prototype Verification System (PVS) is a specification language integrated with support tools and an automated theorem prover, developed at the Computer Science Laboratory of SRI International in Menlo Park, California.
PVS is based on a ker ...
(PVS) – a proof language and system based on higher-order logic.
*
TPS 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-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
Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft with the Electron Framework, for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code complet ...
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
*
DMOZ
DMOZ (from ''directory.mozilla.org'', an earlier domain name, stylized in lowercase in its logo) was a multilingual open-content directory of World Wide Web links. The site and community who maintained it were also known as the Open Directory ...
Science: Math: Logic and Foundations: Computational Logic: Logical Frameworks
Argument technology
Automated theorem proving
de:Maschinengestütztes Beweisen