In
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
and
mathematical logic
Mathematical logic is the study of logic, formal logic within mathematics. Major subareas include model theory, proof theory, set theory, and recursion theory. Research in mathematical logic commonly addresses the mathematical properties of for ...
, a proof assistant or interactive theorem prover is a software tool to assist with the development of
formal proof
In logic and mathematics, a formal proof or derivation is a finite sequence of sentences (called well-formed formulas in the case of a formal language), each of which is an axiom, an assumption, or follows from the preceding sentences in the seque ...
s 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''
* '' Inte ...
, 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
ACL2 ("A Computational Logic for Applicative Common Lisp") is a software system consisting of a programming language, created by Timothy Still it was an extensible theory in a first-order logic, and an automated theorem prover. ACL2 is designed t ...
– 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
Logic for Computable Functions (LCF) is an interactive automated theorem prover developed at Stanford and Edinburgh by Robin Milner and collaborators in early 1970s, based on the theoretical foundation of logic of computable functions previously ...
. 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
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 ...
– 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 the ...
and
Poly/ML. Has a
BSD-style license
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
.
**
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 aut ...
– 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 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
Jape is a synonym for a practical joke.
Jape or JAPE may also refer to:
* Jape (band), an Irish electronic/rock band
* JAPE (linguistics), a transformation language widely used in natural language processing
* JAPE, an automated pun generator
* J ...
– 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
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
Matita
is an experimental proof assistant under development at the Computer Science Department of the University of Bologna. It is a tool aiding the development of formal proofs by man-machine collaboration, providing a programming environment whe ...
– A light system based on the Calculus of Inductive Constructions.
*
MINLOG MINLOG is a proof assistant developed at the University of Munich by the team of Helmut Schwichtenberg.
MINLOG is based on First-order logic, first order natural deduction calculus. It is intended to reason about computable functionals, using Minim ...
– 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 axiom ...
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 axiom ...
.
*
PhoX
PHOX was an American six-piece alternative folk / indie pop band from Baraboo, Wisconsin. Active from 2011 until 2017, they released their self-titled debut LP on June 24, 2014.
History
Prior to the formation of PHOX, many eventual members coll ...
– 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 kern ...
(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 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
The University of Edinburgh ( sco, University o Edinburgh, gd, Oilthigh Dhùn Èideann; abbreviated as ''Edin.'' in post-nominals) is a public research university based in Edinburgh, Scotland. Granted a royal charter by King James VI in 15 ...
.
Coq includes CoqIDE, which is based on OCaml/
Gtk
GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and propriet ...
. 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