Mizar | |
Collapsible: | yes |
Screenshot Caption: | Mizar MathWiki screenshot |
File Ext: | .miz .voc |
Released: | 1973 |
Influenced: | OMDoc, HOL Light and Coq mizar modes |
Website: | www.mizar.org |
The Mizar system consists of a formal language for writing mathematical definitions and proofs, a proof assistant, which is able to mechanically check proofs written in this language, and a library of formalized mathematics, which can be used in the proof of new theorems.[1] The system is maintained and developed by the Mizar Project, formerly under the direction of its founder Andrzej Trybulec.
In 2009 the Mizar Mathematical Library was the largest coherent body of strictly formalized mathematics in existence.[2]
The Mizar Project was started around 1973 by Andrzej Trybulec as an attempt to reconstruct mathematical vernacular so it can be checked by a computer.[3] Its current goal, apart from the continual development of the Mizar System, is the collaborative creation of a large library of formally verified proofs, covering most of the core of modern mathematics. This is in line with the influential QED manifesto.[4]
Currently the project is developed and maintained by research groups at Białystok University, Poland, the University of Alberta, Canada, and Shinshu University, Japan. While the Mizar proof checker remains proprietary,[5] the Mizar Mathematical Library—the sizable body of formalized mathematics that it verified—is licensed open-source.[6]
Papers related to the Mizar system regularly appear in the peer-reviewed journals of the mathematic formalization academic community. These include Studies in Logic, Grammar and Rhetoric, Intelligent Computer Mathematics, Interactive Theorem Proving, Journal of Automated Reasoning and the Journal of Formalized Reasoning.
The distinctive feature of the Mizar language is its readability. As is common in mathematical text, it relies on classical logic and a declarative style.[7] Mizar articles are written in ordinary ASCII, but the language was designed to be close enough to the mathematical vernacular that most mathematicians could read and understand Mizar articles without special training.[1] Yet, the language enables the increased level of formality necessary for automated proof checking.
For a proof to be admitted, all steps have to be justified either by elementary logical arguments or by citing previously verified proofs.[8] This results in a higher level of rigor and detail than is customary in mathematical textbooks and publications. Thus, a typical Mizar article is about four times as long as an equivalent paper written in ordinary style.[9]
Formalization is relatively labor-intensive, but not impossibly difficult. Once one is versed in the system, it takes about one week of full-time work to have a textbook page formally verified. This suggests that its benefits are now within the reach of applied fields such as probability theory and economics.[2]
The Mizar Mathematical Library (MML) includes all theorems to which authors can refer in newly written articles. Once approved by the proof checker they are further evaluated in a process of peer-review for appropriate contribution and style. If accepted they are published in the associated Journal of Formalized Mathematics[10] and added to the MML.
As of July 2012, the MML included 1150 articles written by 241 authors.[11] In aggregate, these contain more than 10,000 formal definitions of mathematical objects and about 52,000 theorems proved on these objects. More than 180 named mathematical facts have been given formal codification in this manner.[12] Some examples are the Hahn–Banach theorem, Kőnig's lemma, the Brouwer fixed point theorem, Gödel's completeness theorem, and the Jordan curve theorem.
This breadth of coverage has led some[13] to suggest Mizar as one of the leading approximations to the QED utopia of encoding all core mathematics in computer verifiable form.
All MML articles are available in PDF form as the papers of the Journal of Formalized Mathematics.[10] The full text of the MML is distributed with the Mizar checker and can be freely downloaded from the Mizar website. In an ongoing recent project[14] the library was also made available in an experimental wiki form[15] that only admits edits when they are approved by the Mizar checker.[16]
The MML Query website[11] implements a powerful search engine for the contents of the MML. Among other abilities, it can retrieve all MML theorems proved about any particular type or operator.[17] [18]
The MML is built on the axioms of the Tarski–Grothendieck set theory. Even though semantically all objects are sets, the language allows one to define and use syntactical weak types. For example, a set may be declared to be of type Nat only when its internal structure conforms with a particular list of requirements. In turn, this list serves as the definition of the natural numbers and the set of all the sets that conform to this list is denoted as NAT.[19] This implementation of types seeks to reflect the way most mathematicians formally think of symbols[20] and so streamline codification.
Distributions of the Mizar Proof Checker for all major operating systems are freely available for download at the Mizar Project website. Use of the proof checker is free for all non-commercial purposes. It is written in Free Pascal and the source code is available on GitHub.[21]