Mizar system
![]() | |
Paradigm | Declarative |
---|---|
Designed by | Andrzej Trybulec |
First appeared | 1973 |
Typing discipline | Weak, static |
Filename extensions | .miz .voc |
Website | www.mizar.org |
Influenced by | |
Automath | |
Influenced | |
OMDoc, HOL Light and Coq mizar modes |
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]
History
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.
Mizar language
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]
Mizar Mathematical Library
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.
Breadth
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.
Availability
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]
Logical structure
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.
Mizar Proof Checker
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]
See also
References
- ^ a b Naumowicz, Adam; Kornilowicz, Artur (2009). "A Brief Overview of Mizar". In Berghofer, Stefan; Nipkow, Tobias; Urban, Christian; Wenzel, Makarius (eds.). Theorem Proving in Higher Order Logics, 22nd International Conference, TPHOLs 2009, Munich, Germany, August 17–20, 2009. Proceedings. Lecture Notes in Computer Science. Vol. 5674. Springer. pp. 67–72. doi:10.1007/978-3-642-03359-9_5.
- ^ a b Wiedijk, Freek (2009). "Formalizing Arrow's theorem". Sādhanā. 34 (1): 193–220. doi:10.1007/s12046-009-0005-1. hdl:2066/75428.
- ^ Matuszewski, Roman; Piotr Rudnicki (2005). "Mizar: the first 30 years" (PDF). Mechanized Mathematics and Its Applications. 4.
- ^ Wiedijk, Freek. "Mizar". Retrieved 24 July 2018.
- ^ Mailing list discussion Archived 2011-10-09 at the Wayback Machine referring to the close-sourcing of Mizar.
- ^ Mailing list announcement referring to the open-sourcing of MML.
- ^ Geuvers, H. (2009). "Proof assistants: History, ideas and future". Sādhanā. 34 (1): 3–25. doi:10.1007/s12046-009-0001-5. hdl:2066/75958.
- ^ Wiedijk, Freek (2008). "Formal Proof--Getting Started" (PDF). Notices of the AMS. 55 (11): 1408–1414.
- ^ Wiedijk, Freek. "The "de Bruijn factor"". Retrieved 24 July 2018.
- ^ a b Journal of Formalized Mathematics
- ^ a b The MML Query search engine
- ^ "A list of named theorems in the MML". Retrieved 22 July 2012.
- ^ Wiedijk, Freek (2007). "The QED Manifesto Revisited" (PDF). From Insight to Proof: Festschrift in Honour of Andrzej Trybulec. Studies in Logic, Grammar and Rhetoric. 10 (23).
- ^ The MathWiki project homepage
- ^ The MML in wiki form
- ^ Alama, Jesse; Brink, Kasper; Mamane, Lionel; Urban, Josef (2011). "Large Formal Wikis: Issues and Solutions". In Davenport, James H.; Farmer, William M.; Urban, Josef; Rabe, Florian (eds.). Intelligent Computer Mathematics – 18th Symposium, Calculemus 2011, and 10th International Conference, MKM 2011, Bertinoro, Italy, July 18–23, 2011. Proceedings. Lecture Notes in Computer Science. Vol. 6824. Springer. pp. 133–148. arXiv:1107.3209. doi:10.1007/978-3-642-22673-1_10.
- ^ An example of an MML query, yielding all theorems proved on the exponent operator, by the number of times they are cited in subsequent theorems.
- ^ Another example of an MML query, yielding all theorems proved on sigma fields.
- ^ Grabowski, Adam; Artur Kornilowicz; Adam Naumowicz (2010). "Mizar in a Nutshell". Journal of Formalized Reasoning. 3 (2): 152–245.
- ^ Taylor, Paul (1999). Practical Foundations of Mathematics. Cambridge University Press. ISBN 9780521631075. Archived from the original on 2015-06-23. Retrieved 2012-07-24.
- ^ Mizar source code