License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ITP.2023.10
URN: urn:nbn:de:0030-drops-183852
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2023/18385/
Go to the corresponding LIPIcs Volume Portal


Carneiro, Mario

Reimplementing Mizar in Rust

pdf-format:
LIPIcs-ITP-2023-10.pdf (0.8 MB)


Abstract

This paper describes a new open-source proof processing tool, mizar-rs, a wholesale reimplementation of core parts of the Mizar proof system, written in Rust. In particular, the "checker" and "analyzer" of Mizar are implemented, which together form the trusted core of Mizar. This is to our knowledge the first and only external implementation of these components. Thanks to the loose coupling of Mizar’s passes, it is possible to use the checker as a drop-in replacement for the original, and we have used this to verify the entire MML in 11.8 minutes on 8 cores, a 4.8× speedup over the original Pascal implementation. Since Mizar is not designed to have a small trusted core, checking Mizar proofs entails following Mizar closely, so our ability to detect bugs is limited. Nevertheless, we were able to find multiple memory errors, four soundness bugs in the original (which were not being exploited in MML), in addition to one non-critical bug which was being exploited in 46 different MML articles. We hope to use this checker as a base for proof export tooling, as well as revitalizing development of the language.

BibTeX - Entry

@InProceedings{carneiro:LIPIcs.ITP.2023.10,
  author =	{Carneiro, Mario},
  title =	{{Reimplementing Mizar in Rust}},
  booktitle =	{14th International Conference on Interactive Theorem Proving (ITP 2023)},
  pages =	{10:1--10:18},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-284-6},
  ISSN =	{1868-8969},
  year =	{2023},
  volume =	{268},
  editor =	{Naumowicz, Adam and Thiemann, Ren\'{e}},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/opus/volltexte/2023/18385},
  URN =		{urn:nbn:de:0030-drops-183852},
  doi =		{10.4230/LIPIcs.ITP.2023.10},
  annote =	{Keywords: Mizar, proof checker, software, Rust}
}

Keywords: Mizar, proof checker, software, Rust
Collection: 14th International Conference on Interactive Theorem Proving (ITP 2023)
Issue Date: 2023
Date of publication: 26.07.2023
Supplementary Material: Software (Source Code): https://github.com/digama0/mizar-rs/tree/itp2023/itp2023 archived at: https://archive.softwareheritage.org/swh:1:dir:2522beed4f5fce87ce3193ff0359def1dcff1d7c


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI