License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ITP.2019.12
URN: urn:nbn:de:0030-drops-110671
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2019/11067/
Go to the corresponding LIPIcs Volume Portal


Carneiro, Mario

Formalizing Computability Theory via Partial Recursive Functions

pdf-format:
LIPIcs-ITP-2019-12.pdf (0.5 MB)


Abstract

We present an extension to the mathlib library of the Lean theorem prover formalizing the foundations of computability theory. We use primitive recursive functions and partial recursive functions as the main objects of study, and we use a constructive encoding of partial functions such that they are executable when the programs in question provably halt. Main theorems include the construction of a universal partial recursive function and a proof of the undecidability of the halting problem. Type class inference provides a transparent way to supply Gödel numberings where needed and encapsulate the encoding details.

BibTeX - Entry

@InProceedings{carneiro:LIPIcs:2019:11067,
  author =	{Mario Carneiro},
  title =	{{Formalizing Computability Theory via Partial Recursive Functions}},
  booktitle =	{10th International Conference on Interactive Theorem Proving (ITP 2019)},
  pages =	{12:1--12:17},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-122-1},
  ISSN =	{1868-8969},
  year =	{2019},
  volume =	{141},
  editor =	{John Harrison and John O'Leary and Andrew Tolmach},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2019/11067},
  URN =		{urn:nbn:de:0030-drops-110671},
  doi =		{10.4230/LIPIcs.ITP.2019.12},
  annote =	{Keywords: Lean, computability, halting problem, primitive recursion}
}

Keywords: Lean, computability, halting problem, primitive recursion
Collection: 10th International Conference on Interactive Theorem Proving (ITP 2019)
Issue Date: 2019
Date of publication: 05.09.2019
Supplementary Material: The formalization is a part of the mathlib Lean library at https://github.com/leanprover-community/mathlib, and a snapshot as of this publication is available at http://github.com/digama0/mathlib-ITP2019.


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